1. 개요
작업 외주를 통해서 문의가 접수되었다. 내용을 검토해보니, AWS 에서 EC2 서비스를 구성 중인데 32bit-64bit Library 충돌로 인해 현재 구성이 정상적으로 이루어지지 않고 있다고 한다.
아직 구성된 프로그램이 존재하지 않기에 EC2 신규 구성 후 진행할 것을 권고 했다.
클라이언트도 이를 동의하여 작업을 진행한다.
2. 구성
1) 기초 구성
export REPO_UTIL="gcc gcc-* pcre apr apr-util zlib zlib-devel cmake wget zip unzip crontab crond openssl perl expat-devel expect"
export REPO_MANAGE="git htop iptraf-ng tcpdump telnet nslookup bind-utils ping rdate grep rsync lsync net-tools certbot"
yum update -y
yum clean all
yum install yum-fastestmirror
echo -e "yum repostiory 갱신 시작."
yum install -y epel-release
echo -e "유틸 프로그램 설치 시작."
yum install -y ${REPO_UTIL}
echo -e "관리 툴 설치 시작."
yum install -y ${REPO_MANAGE}
yum install glibc
yum install glibc.i686 libstdc++.i686 -y
yum install htop
yum install lib32tinfo5
sudo yum install ncurses-libs.i686
yum install libcurl.i686
ln -s /usr/lib/libcurl.so.4 /usr/lib/libcurl-gnutls.so.4
export LIMIT_PATH=/etc/security/limits.conf
export TIME_SERVER=time.bora.net
echo -e "시간체크"
rdate -p ${TIME_SERVER}
echo -e "시간 동기화"
rdate -s ${TIME_SERVER}
echo "#DrSoft Custom Set" >> ${LIMIT_PATH}
echo "* soft nofile 65536" >> ${LIMIT_PATH}
echo "* hard nofile 65536" >> ${LIMIT_PATH}
echo "* soft memlock unlimited" >> ${LIMIT_PATH}
echo "* hard memlock unlimited" >> ${LIMIT_PATH}
rdate -s ${TIME_SERVER}
2) PufferPanel 구성
- RPM 설치
curl -s https://packagecloud.io/install/repositories/pufferpanel/pufferpanel/script.rpm.sh | sudo bash
sudo yum install pufferpanel
sudo systemctl enable pufferpanel
#관리자 계정 생성
sudo pufferpanel user add
# 서비스 자동 실행 및 활성화
sudo systemctl enable --now pufferpanel
# Port Listen 확인
netstat -tnlp | grep 8080
- 웹서버 설정 ( Apache )
#필요 모듈
mod_proxy
mod_proxy_http
mod_proxy_wstunnel
mod_rewrite
# Apache
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName panel.example.com
ProxyPreserveHost On
SSLProxyEngine On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule .* ws://localhost:8080%{REQUEST_URI} [P]
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/panel.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/panel.example.com/privkey.pem
</VirtualHost>
</IfModule>
- 웹서버 설정 ( Nginx )
# Nginx
server {
listen 80;
root /var/www/pufferpanel;
server_name panel.examplehost.com;
location ~ ^/\.well-known {
root /var/www/html;
allow all;
}
location / {
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Nginx-Proxy true;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
client_max_body_size 100M;
}
}
'Linux' 카테고리의 다른 글
[MARIADB] MariaDB Grant 권한 등록시 DNS 다중 A 레코드 이슈(Mutiple DNS A Record) (0) | 2022.08.04 |
---|---|
[LINUX][MARIADB][SSH]Master - Slave 오류 복구 (0) | 2022.07.26 |
[HAPROXY][SSL] SSL certificate problem: unable to get local issuer certificate SSL 인증 실패 오류 (0) | 2022.07.26 |
[Apache][ReverseProxy] 프록시 분산 Proxy LoadBalancer (LoadBalancing) (0) | 2022.07.19 |
[HAPROXY] MariaDB Send-Proxy 모니터링 (0) | 2022.07.16 |