더 나은 프로그래머가 되자

우분투 서버세팅(22.04 LTS) with APM 본문

리눅스

우분투 서버세팅(22.04 LTS) with APM

greathuman 2024. 4. 24. 14:31

1. SSH ROOT 계정 접속 허용

우분투 최초 설치시 SSH나 GUI에서 roo계정으로 접속이 차단되어있음

#root 계정 비밀번호 생성
sudo passwd root  

#비밀번호 생성후 roo계정으로 전환
su - root

 

/etc/ssh/sshd_config 로 이동해서 sshd_config 파일을 수정한다

PermitRootLogin prohibit-password 로설정되어있는 내용을

PermitRootLogin yes 로 변경

sudo vi /etc/ssh/sshd_config

#PermitRootLogin prohibit-password
PermitRootLogin yes

#ssh 재시작
sudo service ssh restart

 

2. 우분투 패키지 업데이트

# 등록된 저장소 내 패키지 정보를 최신으로 업데이트.
sudo apt update 

# 최신으로 업데이트 된 저장소 내 패키지 정보를 바탕으로 시스템에 설치된 패키지들을 업그레이드.
sudo apt upgrade

# 불필요해진 패키지를 자동으로 삭제.
sudo apt autoremove

 

3. vim 에디터 설치

vi 에디터를 제대로 사용하려면 vim을 설치하고 세부 세팅 후 사용해야한다.

vim 설치 및 설정 방법 바로 가기

 

4. 방화벽 세팅

원활한 접속을 위해 필수 포트를 개방해야한다.

443,80,20,21 포트를 개방한다.

 

#방화벽 비활성화
sudo ufw disable

#방화벽 활성화
sudo ufw enable

#방화벽 상태보기

sudo ufw status

#방화벽 명령어 보기
sudo ufw command

#방화벽 웹용 포트 열기(80,443)
sudo ufw allow 80
sudo ufw allow 443

#openSSH 방화벽 포트열기
sudo ufw OpenSSH

#방화벽 ftp 20,21번/tcp 포트 열기(아무나 접속가능)
sudo ufw allow 20:21/tcp

#특정 아이피에서만 오픈
sudo ufw allow from 111.111.111.111 to any port 20:21 proto tcp

 

우분투 방화벽 추가 설정

https://webdir.tistory.com/206

5. APM 설치

Apache, MySQL(또는 MariaDB) 및 PHP로 웹 서버를 설정할 때 원활한 설치 및 구성을 위해서는 특정 순서를 따르는 것이 중요하다. 

1.아파치

2.MySQL

3.PHP 순으로 설치한다

 

5.1 APACHE 설치

#아파치 설치
sudo apt install apache2

# 아파치 서버 시작
sudo service apache2 start

# 아파치 서버 중지
sudo service apache2 stop

# 아파치 서버 재시작
sudo service apache2 restart

 

버처호스트 세팅

# VirtualHost 파일 수정
vi /etc/apache2/sites-available/000-default.conf


<VirtualHost *:80>
  #ServerAdmin webmaster@localhost
  ServerName example.com
  ServerAlias www.example.com

  <Directory /home/zaram/www/>
   Options None
   AllowOverride All
   require all granted
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

sudo service apache2 restart

 

헤더에 OS 및 Apache 정보 숨김처리

# security.conf 수정
vi /etc/apache2/conf-available/security.conf

ServerTokens Prod
ServerSignature Off

sudo service apache2 restart

 

ServerTokens의 경우, Full, OS, Minimal, Minor, Major, Prod 중 하나로 설정할 수 있는데, Full이 가장 많은 정보를 출력하고 Prod가 가장 적은 정보를 출력 해 보안 상 권장 설정은 Prod다.
ServerSignature는 On, Off, EMail 중 하나로 설정할 수 있으며, 각각 출력하는 정보는 아래와 같다.
- On : 서버 버전, 가상 호스트명
- Off : 정보를 추가하지 않음
- EMail : 서버버전, 가상호스트명과 함께 ServerAdmin 정보도 함께 보여 줌

 

5.2 MySQL(MariaDB) 설치

MariaDB 설치 바로가기

 

5.3 PHP8.3 설치

PHP8.3 설치 바로가기

 

6. FTP 설치(vsftpd)

sudo apt update
sudo apt install vsftpd

#상태 확인
sudo systemctl status vsftpd

 

vsftpd.conf 파일 수정

vi /etc/vsftpd.conf

# 기본 퍼미션(디렉토리 755, 파일 644)
local_umask=022

# 파일 업로드 허용
write_enable=YES

# 사용자 디렉토리 위로 이동 제한
chroot_local_user=YES

# chroot 적용 사용자의 경우 이 설정이 반드시 필요함.
allow_writeable_chroot=YES

sudo service vsftpd restart

 

 

Comments