설치완료후
sudo su 루트권한 획득, 그렇지 않으면 조작할때 마다 sudo를 입력해야 합니다.
apt update
apt upgrade
apt install ssh mc vsftpd samba samba-client 필수 프로그램
ssh서버 원격접속프로그램, mc TEXT모드지만 폴더생성 파일삭제 수정을 GUI 환경처럼 조작, vsftpd FTP서버, samba 삼바서버, sambaclient NEXTCLOUD를 사용한다면 필요할수도 있습니다.
삼바서버
유저추가, 사용자를 추가하려면 서버유저부터 추가해야 합니다. 루트유저를 그냥 추가해도 상관없습니다. 루트유저도 웹에서는 일반유저권한밖에 없습니다.
root계정으로
smbpasswd -a 유저명
비밀번호
비밀번호 재입력
유저추가 완료,
mc 환경에서 cd /etc/samba를 치면 smb.conf나 samba.cofn가 보입니다. F4를 누르면 편집할수 있습니다.개인적으로 mcediter 가 직관적이고 가장 편합니다. 가장 아래쪽으로 내려가서 삼바설정을 추가합니다.
[samba] 웹에서 보이는 이름
comment = shere 코멘트, 큰의미 없음
path = /home/data 공유할 폴더
valid users = 유저1, 유저2 smbpasswd로 설정한 유저
browseable = yes 웹에서 보이기, no 하면 주소를 입력해야만 접속이 가능합니다.
read only = no 이 옵션을 입력하지 않으면 폴더속성이 읽기전용이 됩니다.
creat mode = 0777 권한
directory mode = 0777
gust ok = no 아무나 접근
systemctl restart smbd
FTP서버
/etc폴더 가장 애래쪽으로 보면 vsftpd.conf 파일이 보일것입니다. f4를 눌러서 편집합니다. 아래로 찾다보면 #writenable yes가 보일것입니다. 주석을 제거하면 업로드 다운로드가 가능합니다. 업로드 다운로드도 서버에 등록된 아이디가 있어야 하며 폴더 소유주만 가능합니다. 보안상 guest ok를 no로 설정합니다.
웹서버
apt install lamp-server
apt install phpmyadmin 보안문제가 있기는 하지만 mysql 비밀번호를 복잡하게 만들어서 해킹 못하게 만들면 됩니다. phpmyadmin은 홈페이지에서 프로그램을 다운해서 /var/www폴더아래 압축해제하면 사용할수 있습니다.
웹서버를 운영하기 위해서 몇가지 프로그램을 추가 설치해야 합니다.
apt install php-zip php-curl php-imagick php-xml php-intl
웹서버 설치하다가 필요한것이 있다고 하면 추가로 설치하면 됩니다.
rewrite mode
라이믹스에서 주소창을 짧게 입력하는 기능인데
/etc/apache2 폴더안에 http.conf 파일이 있습니다.
그중에 none All로 바꿔주고 나와서
a2enmode rewrite 명령어를 입력하고 systemctl restart apache2 입력하면 적용됩니다.
mysql,
우분투 16.04lts까지는 비밀번호를 설치할때 설정이 가능했는데 18.04버전부터는 Auth.socet으로 바뀌면서 루트계정으로 외부에서 접속이 불가능해졌습니다.
root 권한으로 mysql을 입력합니다.
root@localhost# mysql
mysql> use mysql;
mysql> update user set plugin='mysql_native_password' where user='root';
mysql> flush privileges;
mysql> exit;
mysql_secure_installation
비밀번호 설정 루트접근 등등이 있습니다. 루트접근은 허용해줘야 합니다.
가상호스트
홈페이지 파일을 /var/www/html 폴더아래 넣어주면 브라우저에 서버아이피를 입력하면 자동으로 뜹니다. 그러나 여러개의 사이트를 운영한다면 가상호스트를 설정해줘야 합니다. https를 운영하기 위해서 필수 입니다. 설정파일은 /etc/apache2 폴더 아래에 있습니다.
/etc/apache2/sites-available폴더아래 000-default.conf라는 파일이 있습니다. 해당 파일을 선택한후 F5를 눌러서 복사합니다. 파일명은 본인의 사이트주소에다 .conf를 달아주면 됩니다. 팝업창 주소뒤로 붙이면 오른쪽에 열려있는 폴더로 복사되니 주의하세요. 해당폴더안에다 복사해야 합니다. 해당파일을 복사한후 사이트별 설정하면 됩니다. 해당 사이트에 사용할 폴더를 입력해주면 끝입니다.
000-default.conf원본입니다. <------> 이 부호는 Tab 두번 누르면 나옵니다. 큰 의미는 없지만.추가할 내용은
ServerName 도메인
ServerAlias www.도메인 news. 도메인 shoping.도메인 여러게 도메인을 하나로 묶을때
ServerAdmin 그대로 두면 됩니다.
DocumentRoot /var/www/vhost/도메인 해당 도메인을 입력하면 지정한 폴더로 접속이 됩니다. 다른것은 크게 건들일이 없습니다. 기본적으로 www폴더아래에 설치하는데 그룹별로 묶어주기 위해서 /var/www/vhost/폴더 아래 설치합니다. 백업할때 상당히 편리합니다.
터미널로 빠져나와서
a2ensite mysite.com
본인이 설정한 도메인을 일일이 입력하면 됩니다. 그렇지 않으면 사이트가 활성화 되지 않습니다. [.conf는 입력하지 않아도 됩니다. ]
certbot, HTTPS 암호화 프로그램
설치방법은 서버버전마다 조금씩 다릅니다. 우분투 20.04버전 설정 링크입니다. https://certbot.eff.org/instructions?ws=apache&os=ubuntufocal
root계정으로
snap install core; snap refresh core
remove certbot
snap install --classic certbot
설치가 완료되었다면
certbot
입력하면 이메일 주소 입력하고 사용동의서 엔터 치고 메일을 받겠는가에는 n, 그다음은 활성화된 도메인을 선택하면 됩니다. 보통은 1 2 3 4 5 6 입력하고 엔터를 치면 /etc/apache2/sites-available폴더아래 도메인-le-ssl.conf 파일이 생겨납니다. 도메인 주소가 해당 서버아이피에 해당해야만 진행이 됩니다. 공유기를 통한다면 공유기의 80번443포트를 해당 서버PC로 지정해줘야 합니다.
방화벽설정
공유기를 사용한다면 기본적으로 방하벽을 설정할 필요가 없습니다. 만약 개인집이 아닌 많은 사람이 접속하는 네트워크라면 방화벽을 켜고 필요한 포트만 열어주면 됩니다. 요즘 공유기에서는 기본으로 ddos 공격을 막아주기 때문에 꼭 필요한 포트만 연결하면 됩니다. 공유기가 아닌 모뎀과 직접 연결되었다면 방화벽을 켜줘야 합니다.
ufw allow http 80번포트 웹서버
ufw allow https 443번포트 웹서버
ufw allow samba 삼바포트 파일서버
ufw allow ssh 22번포트 웹에서 서버제어할때
ufw allow ftp 21번포트 ftp서버
설정이 완료되었다면
ufw enable
방화벽을 설정한 포트외에 다른포트는 막혀서 외부해킹 노출을 줄일수 있습니다. [실제로 해커가 맘먹고 들어오면 막기 힘듭니다. 데이터를 상시적으로 백업하면 그나마 손실을 최소화 할수 있습니다. ]
백업
해당 폴더에 들어가서 F2를 누르면 위 이미지 처럼 압축기능이 뜹니다. 엔터치면 어디에 저장할것인지 묻습니다.
만약 백업 폴더가 /home/data/backup/2023에 있다고 하면 /home/data/backup/2023/vhost.tar.gz로 입력하면 됩니다. 아무것도 입력하지 않고 엔터를 치면 그위폴더에 생성이 됩니다. 가상호스를 한번에 백업하기 위해서는 단위별 호스트를 한 폴터로 집중하는것이 좋습니다. A그룹 B그룹으로 나뉘어 백업하는것이 좋습니다. nextcloud도 www폴더아래 설치했더니 www폴더를 백업할때마다 필요없는 파일들이 너무 많이 들어가서 용량만 커집니다. 백업이 필요한 폴더와 필요하지 않은 폴도를 나누어 주는것이 좋습니다. vhost, cloud, 프로그램별로 설정하면 상당히 간결하고 편합니다. 용량을 줄이려면 백업하기전에 각 사이트 폴더안에 캐시를 지우고 백업하면 속도도 빨라지고 용량도 줄어듭니다.
웹서버가 정상적으로 돌아가기 위해서는 권한설정을 해줘야 합니다.
chmod -R 707 /var/www/ 이렇게 입력하면 www폴더 아래 모든 파일권한이 바뀝니다. nextcloud일 경우 더많은 권한을 요구함으로 chmod -R 777 /var/www/cloud 로 하면 됩니다.
웹프로그램
라이믹스, 저의 사이트도 라이믹스로 운영하고 있습니다. 업데이트도 자주되고 운영하기 편리합니다. 다운로드 링크 https://rhymix.org/
워드프레스, 전세계 많은 유저들이 사용하는 프로그램입니다. 설치도 간편하고 배우면서 사이트를 운영할수 있습니다. 다운로드 링크 https://ko.wordpress.org/download/
그누보드, 사용해보지 않았습니다. 다운로드 페이지 링크 https://sir.kr/g5_pds/3220
NEXTCLOUD, 다운로드 링크 https://nextcloud.com/install/#instructions-server 아래로 쭈욱 내리면 zip tar.gz 파일을 클릭하면 다운로드 됩니다. 다른 설치방법도 있는데 시도해보지는 않았습니다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
11 | NAVER whale | 세걸 | 2021.03.20 | 970 |
10 | DPU | 세걸 | 2021.03.30 | 1053 |
9 | VPU | 세걸 | 2021.11.16 | 1131 |
8 | 초고속 인터넷 | 세걸 | 2021.11.18 | 792 |
7 | AI | 세걸 | 2021.11.18 | 1703 |
6 | 삼성전자 LPDDR5 개발 | 세걸 | 2021.11.18 | 580 |
5 | OTT | 세걸 | 2022.01.13 | 2649 |
4 | 홈서버, 자작나스(하드웨어) | 세걸 | 2022.11.12 | 1292 |
3 | 홈서버, 자작나스(운영체제) | 세걸 | 2022.11.23 | 1189 |
» | 홈서버, 자작나스(서버설정) | 세걸 | 2023.01.11 | 1157 |
1 | 홈서버, 자작나스(1) | 세걸 | 2023.11.04 | 787 |