관리 메뉴

Crispfeel

VPS 초기 세팅 정리 본문

CentOS

VPS 초기 세팅 정리

Crispfeel 2020. 2. 4. 23:50

1. 루트비밀번호 변경

 

passwd root

 

2. 타임존 설정

 

timedatectl set-timezone Asia/Seoul

 

3. 업데이트

 

yum update -y

 

4. 사용자 기본 계정 설정

vi /etc/login.defs
UMASK 022

 

5. su 명령어 권한 특정그룹에 제한

vi /etc/pam.d/su
auth required pam_wheel.so use_uid 주석 제거

 

6. ssh에서 root 계정 비활성화를 위해 사용자 계정 추가

useradd -G wheel 사용자계정
passwd 사용자계정

 

7. ssh root계정 비활성화

vi /etc/ssh/sshd_config
PermitRootLogin yes 를 no 로 변경

 

8. SELINUX 확인

vi /etc/selinux/config
SELINUX=disabled

 

9. epel-release, remi-release 추가

yum install epel-release -y
rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-8.rpm

 

10. apach 설치

yum install httpd -y
systemctl start httpd
systemctl enable httpd

 

10-1. nginx 설치(선택)

yum install nginx -y
systemctl start nginx
systemctl enable nginx
vi /etc/nginx/nginx.conf
server 부분에 추가
location ~ \.php$ {
	try_files $uri =404;
	fastcgi_split_path_info ^(.+\.php)(/.+)$;
	fastcgi_pass 127.0.0.1:9000;
	fastcgi_index index.php;
	fastcgi_param SCRIPT_FILENAME
	$document_root$fastcgi_script_name;
	include fastcgi_params;
}

vi /etc/php.ini
cgi.fix_pathinfo = 0
allow_url_fopen = Off
expose_php = Off

vi /etc/php-fpm.d/www.conf
user = nginx
group = nginx
listen.owner = nobody 주석제거
listen.group = nobody 주석제거
security.limit_extensions = .php .html .htm 주석제거후 php코드 실행할 확장자 추가

 

11. php7.4 설치

dnf module install php:remi-7.4
(centos7은 yum-config-manager --enable remi-php74)
yum install php -y
systemctl start php-fpm
systemctl enable php-fpm

 

12. mariadb 설치

yum install mariadb mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation

vi /etc/my.cnf
[mysqld] 부분에 character-set-server = utf8 추가

 

13. vsftpd 설치

yum install vsftpd -y
vi  /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
chroot_local_user=YES 주석제거
allow_writeable_chroot=yes 추가
pasv_enable=yes
pasv_min_port=20090
pasv_max_port=20091 (패시브설정은 선택)
systemctl start vsftpd
systemctl enable vsftpd

기본포트도 변경하고 싶다면 다음 추가
listen_port=20021
ftp_data_port=20020

 

 

14. firewalld 등록

firewall-cmd --permanent --add-port=20-21/tcp
firewall-cmd --permanent --add-port=20090-20091/tcp
firewall-cmd --permanent --add-port=80/tcp
systemctl restart firewalld

 

15. ping 설정

차단
# firewall-cmd --permanent --zone=public --add-icmp-block=echo-request
특정 ip만 허용
#firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p icmp -s X.X.X.X -j ACCEPT

 

16. 가상호스트 추가

vi /etc/httpd/conf/httpd.conf
<Directory "/home">
	AllowOverride None
    Require all granted
</Directory>

vi /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
	DocumentRoot /home/demo
	ServerName demo.com
	ServerAlias www.demo.com demo.com
	# ErrorLog logs/demo.com-error_log
	# CustomLog logs/demo.com-access_log common
</VirtualHost>

 

17. php 설정

 

vi /etc/php.ini
short_open_tag = On

vi /etc/httpd/conf/httpd.conf
DirectoryIndex 에 기본문서로 쓸 파일명 추가
AddType application/x-httpd-php .php4 .php .phtml .ph .inc .html .htm 추가

vi /etc/httpd/conf.d/php.conf
<FilesMatch \. (php|phar|html|htm) $>
	SetHandler "proxy : unix : /run/php-fpm/www.sock | fcgi : // localhost"
</ FilesMatch>

 

18. phpmyadmin 설정

$cfg['blowfish_secret'] = '';
http://www.passwordtool.hu/blowfish-password-hash-generator 에서 암호화키 생성후 입력


$cfg['TempDir'] = '/tmp';
$cfg['PmaNoRelation_DisableWarning'] = true; 
$cfg['Servers'][$i]['hide_db'] = 'information_schema|mysql|performance_schema'; 
추가