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