Vultr 클라우드 서버 설정

  • Deploy
  • Shared CPU
  • Ubuntu 23.10 x64

ufw enable # 방화벽을 활성화한다.
ufw allow 80/tcp  # 일반 웹 정보 관련 입출력 통로
ufw allow 443/tcp  # SSL 설치 시 웹 정보 관련 입출력 통로 
ufw allow 22/tcp  # ssh용 신규 포트
  • /etc/ssh/sshd_config 에서 Port 22 를 찾아서 자기가 사용할 포트 숫자를 기억하기 쉽고 10000자리이상에서 임의의 숫자를선택한다. 예를 들어 58722, 65322 등등
service ssh restart # 서버 재시작

ufw allow *****/tcp  # *****는 ssh 포트로 기본 22번 포트대신 사용할 포트로 개인만 알 수 있는 만단위 숫자를 사용한다.
ufw deny 22/tcp  # ssh용으로 22포트를 사용할 수 없게 한다.

fail2ban

apt-get install fail2ban
vi  /etc/fail2ban/jail.conf
  • ignoreip에는 ban을 하면 않되는 IP를 적는다. 10.100.102.103/32 형식으로 적으며, 추가는 스페이스바로 구분한다.
  • bantime은 접속 차단 시간으로 기본이 600(10분)으로 되어 있음
  • findtime은 통계를 찾을 시간.
  • maxretry 는 fail 횟수이다. 기본으로 5가 세팅되어 있는데 이 정도면 충분하다고 보고 유지했다

쉘 기본 언어값 확인

apache2
  • 영어가 아닌 다른 언어가 나오면 vi /etc/default/locale
LANG="en_US.UTF-8"
LANGUAGE="en"

운영체제 프로그램 업데이트

# apt-get update 
# apt-get upgrade -y

시스템 시간 설정

dpkg-reconfigure tzdata asia > seoul


PHP 설치

  • 최신버전 확인 : https://www.php.net/downloads.php
apt-get install php


# vi /etc/php/7.2/fpm/php.ini
# vi /etc/php/7.2/cli/php.ini

date.timezone = Asia/Seoul

PHP에러표시

  • <?php phpinfo();?>
  • Loaded configuration file에서 php.ini경로를 확인 할 수 있음
  • vi /etc/php/8.2/apache2/php.ini
  • display_error = 0을 1로 변경
  • service apache2 restart
  • php에러를 직접 출력하는건 취약점 노출이 될수 있음
    에러 로그 위치
    /var/log/httpd/error_log 이 위치는 RHEL / Red Hat / CentOS / Fedora Linux Apache
    /var/log/apache2/error.log 이 위치는 Debian / Ubuntu Linux Apache
    /var/log/httpd-error.log 이 위치는 FreeBSD Apache
    

PHP 페이지에서 에러표시 구문 추가

<?php
    error_reporting(E_ALL);
    ini_set("display_errors",1);
?>

apache2 설치

apt install apache2


vi /etc/apache2/apache2.conf

<Direvtory /var/www/>
    Options lndexes FollowSymlinks // indexes 옵션 삭제
</Directory>
cd /etc/apache2/sites-available
cp 000-default.conf 새이름.conf

vi 새이름.conf

a2dissite 000-default.conf
a2ensite 새이름.conf
service apache2 restart