우분투 20.04 APM 환경 구축

백성현·2021년 7월 25일

Ubuntu 20.04

패키지 저장소 변경

cd /etc/apt
cp -arp sources.list sources.list_orig
sed -i "s/kr.archive.ubuntu.com/ftp.daumkakao.com/g" sources.list
sed -i "s/security.ubuntu.com/ftp.daumkakao.com/g" sources.list

apt update
apt upgrade

서버 시간대, 시간 동기화 설정

ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

apt install ntp

cd /etc
cp ntp.conf ntp.conf_orig
sed -i "s/^pool/#pool/g" ntp.conf
echo \
"server time.bora.net
server time.nuri.net
server ntp.kornet.net
server time.kriss.re.kr
server time.nist.gov" >> ntp.conf

systemctl enable ntp
systemctl restart ntp
ntpq -p

쉘 환경변수 설정

cd ~/
sed -i "/# some more ls aliases/a alias rm='rm -i'" .bashrc
sed -i "/HISTFILESIZE=/a HISTTIMEFORMAT=\"%Y-%m-%d_%H:%M:%S [CMD]: \"" .bashrc
source .bashrc

Apache 2.4.x

설치

add-apt-repository ppa:ondrej/apache2
apt update
apt install openssl apache2

설정

a2enmod rewrite headers ssl
a2dismod -f autoindex 

cd /etc/apache2
cp -arp apache2.conf apache2.conf_orig
sed -i "s/KeepAlive On/KeepAlive Off/g" apache2.conf
sed -i "s/Timeout 300/Timeout 20/" apache2.conf

cd /etc/apache2/conf-available
cp -arp charset.conf charset.conf_orig
sed -i "s/#AddDefaultCharset UTF-8/AddDefaultCharset UTF-8/g" charset.conf

cd /etc/apache2/conf-available
cp -arp security.conf security.conf_orig
sed -i "s/#<Directory \/>/<Directory \/>/g" security.conf
sed -i "s/#   AllowOverride None/   AllowOverride None/g" security.conf
sed -i "s/#   Require all denied/   Require all denied/g" security.conf
sed -i "s/#<\/Directory>/<\/Directory>/g" security.conf
sed -i "s/#<DirectoryMatch \"\/\\\.svn\">/<DirectoryMatch \"\/\\\.svn\">/g" security.conf
sed -i "s/#   Require all denied/   Require all denied/g" security.conf
sed -i "s/#<\/DirectoryMatch>/<\/DirectoryMatch>/g" security.conf
sed -i "s/ServerTokens OS/ServerTokens Prod/g" security.conf
sed -i "s/ServerSignature On/ServerSignature Off/g" security.conf
sed -i "s/#Header set X-Content-Type-Options: \"nosniff\"/Header set X-Content-Type-Options: \"nosniff\"/g" security.conf
sed -i "s/#Header set X-Frame-Options: \"sameorigin\"/Header set X-Frame-Options: \"sameorigin\"/g" security.conf

systemctl enable apache2
systemctl restart apache2

PHP 8.1.x

설치

add-apt-repository ppa:ondrej/php
apt update
apt install php8.1-fpm libapache2-mod-fcgid
apt install php8.1-mbstring php8.1-gd php8.1-curl php8.1-xml php8.1-zip php8.1-intl php8.1-bcmath php8.1-mysql php8.1-imagick

설정

cd /etc/php/8.1/fpm
cp -arp php.ini php.ini_orig
sed -i "s/;date.timezone =/date.timezone = Asia\/Seoul/g" php.ini
sed -i "s/;error_log = syslog/error_log = \/var\/log\/php\/error.log/g" php.ini
sed -i "s/post_max_size = 8M/post_max_size = 256M/g" php.ini
sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 256M/g" php.ini

cd /etc/php/8.1/cli
cp -arp php.ini php.ini_orig
sed -i "s/;error_log = syslog/error_log = \/var\/log\/php\/error.log/g" php.ini
sed -i "s/;date.timezone =/date.timezone = Asia\/Seoul/g" php.ini

mkdir -p /var/log/php
chown www-data /var/log/php

systemctl restart apache2

Apache PHP-FPM 활성화

a2enmod proxy_fcgi setenvif
a2enconf php8.1-fpm

systemctl restart apache2
systemctl restart php8.1-fpm

MariaDB 10.11.x

설치

curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.11"
apt update
apt install mariadb-server

설정

cd /etc/mysql/mariadb.conf.d
cp -arp 50-server.cnf 50-server.cnf_orig
sed -i "s/bind-address            = 127.0.0.1/bind-address            = 0.0.0.0/g" 50-server.cnf
sed -i "/\[mysqld\]/a skip-name-resolve" 50-server.cnf
sed -i "/\[mysqld\]/a long_query_time = 2" 50-server.cnf
sed -i "/\[mysqld\]/a slow_query_log_file=/var/log/mysql/slow-query.log" 50-server.cnf
sed -i "/\[mysqld\]/a slow_query_log = 1" 50-server.cnf

systemctl enable mariadb
systemctl restart mariadb

0개의 댓글