사무실에서 혼자 웹환경을 구축할 때 APM을 사용하여
프로젝트를 빌드하는 경우가 많아 메모용으로 남긴다.
(APM = Apache + Php + Mysql)
******************************************************************
1. 서버를 생성함. centOS 기준
su -- > 관리자 권한 읽어오기
******************************************************************
2. Cent OS 최신으로 update
yum update -y
******************************************************************
3. yum을 통해 apache 설치
yum install httpd -y
******************************************************************
4. 웹서버가 설치되었는지 확인하기 위하여 apache 실행
service httpd start
--> 설정해둔 공인 아이피로 접속하기
******************************************************************
5. (설치해도 접속이 안될경우). 방화벽 설정이 필요함.
firewall-cmd --permanent --zone=public --add-port=80/tcp // ->웹페이지 포트
firewall-cmd --permanent --zone=public --add-port=3306/tcp //->DB포트
firewall-cmd --reload (재시작)
** firewalld is not running 발생시 => service firewalld start
** yum 명령어 정리
yum install [패키지명] ==> 해당 패키지 설치
yum remove [패키지명] ==> 해당 패키지 삭제
yum localinstall [패키지명] ==> 의존성이 필요한 파일만 인터넷으로 받음
yum info [패키지명] ==> 패키지 정보 확인
yum list ==> 모든 패키지 목록
yum search [패키지명] ==> 패키지와 관련된 모든 패키지 검색
yum update ==> yum 업데이트
yum groupinstall [그룹패키지명] ==> 해당 그룹패키지 설치
yum grouplist ==> 모든 그룹패키지 목록
yum clean all ==> 캐쉬에 있는 기존 저장소 목록 삭제
******************************************************************
6. redirect 방법
6-1. source code를 업데이트할 경우 기본루트 var/html로 가지고 있음.
--virtual host 변경이 필요함.
--또한 php 적용을 위한 AddType설정도 필요함.
location : etc/httpd/
# AddType
AddType application/x-httpd-php .php4 .php .phtml .ph .inc .html .htm
# Virtual hosts
--> (일반용 80포트) Include /etc/httpd/conf/extra/httpd-vhosts.conf
--> (인증서용 443포트) Include /etc/httpd/conf/extra/httpd-vhosts-le-ssl.conf
▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽
!!! httpd-vhosts.conf (가상연결 설정)
<VirtualHost *:80>
ServerAdmin 139.150.72.160
DocumentRoot "/home/market_chatbot/chatadm/www"
ServerName 139.150.72.160
ErrorLog logs/market-error_log
CustomLog logs/market-access_log common
</VirtualHost>
!!!!httpd-vhosts-le-ssl.conf (ssl설정) : ssl 접속에 대한 설정임.
인증서 발급단계에서 기술함.
******************************************************************
***php에서 오류가 출력될 수 있도록 설정
php.ini -> display_errors = Off => On 변경
******************************************************************
***Call to undefined function mysql_connect() 설정???
: mysql_connect가 아닌 mysqli_connect가 필요하여 생기는 오류.
yum을 통한 설치--> yum install php-mysql
설치확인 --> rpm -qa | grep php-mysql
******************************************************************
** 계속하여 로그인으로 돌아오는 경우 session 생서잉 안되는 것일 수 있음.
-->> chmod -R 706 data (chmod : 권한명령어 -R : 하위 폴더,파일까지 -707 : 권한분류)
******************************************************************
** 도메인 설정
gabia : gowow7997 / gowow7997!
DNS 관리 -> 레코드 없으면 등록 후 주소 설정 -> subDomain(A)을 가장 많이 씀.
그리고 나서 httpd-vhosts.conf에서 VirtualHost를 두개로 나누어서 연결시킴.
--> httpd.conf 최하단에 추가할 내용
# Virtual hosts
Include /etc/httpd/conf/extra/httpd-vhosts.conf
httpd-vhosts.conf 파일은 임시로 생성된 것이며,
etc/httpd/httpd.conf 최하단에 include 로 포함시킨 파일임.
******************************************************************
** SSL 설정하기 - CentOS _ Letsencrypt
1. certbot은 centOS 공식저장소에 미포함이므로 extra 저저장소 epel 확인 후 설치 필요
$ yum repolist -> epel 이 있나?
없으면
$yum install epel-release
설치 후 확인
$ yum repolist | grep epel
2. certbot 설치
$ yum install certbot python2-certbot-apache
(nginx라면)
$ yum install certbot python2-certbot-nginx
3. 인증서 발급
(--standalone일 경우 반드시 웹서버 종료)
sudo systemctl stop httpd
sudo certbot --standalone -d yourWesite.co.kr certonly
# certbot [option]
obtain, install, and renew certificates:
(default) run Obtain & install a certificate in your current webserver
certonly Obtain or renew a certificate, but do not install it
renew Renew all previously obtained certificates that are near expiry
enhance Add security enhancements to your existing configuration
-d DOMAINS Comma-separated list of domains to obtain a certificate for
--apache Use the Apache plugin for authentication & installation
--standalone Run a standalone webserver for authentication
(the certbot nginx plugin is not installed)
--webroot Place files in a server′s webroot folder for authentication
--manual Obtain certificates interactively, or using shell script hooks
-n Run non-interactively
--test-cert Obtain a test certificate from a staging server
--dry-run Test "renew" or "certonly" without saving any certificates to disk
4. 인증서를 적용
-> httpd-vhosts-le-ssl을 생성하여 하단처럼 작성
<VirtualHost *:443>
ServerName yourWesite.co.kr
SSLCertificateFile /etc/letsencrypt/live/yourWebsite.co.kr/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourWebsite.co.kr/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/yourWebsite.co.kr/chain.pem
ServerAdmin yourWebsite.co.kr
</VirtualHost>
--> httpd.conf 최하단에 추가할 내용
# Virtual hosts
Include /etc/httpd/conf/extra/httpd-vhosts.conf
Include /etc/httpd/conf/extra/httpd-vhosts-le-ssl.conf
'Work' 카테고리의 다른 글
스마트 스토어의 시작과 각종 팁 정리 (0) | 2023.04.04 |
---|---|
듀얼쇼크4 드라이버 오류 해결방법(유선패드) (0) | 2023.04.04 |
마이크로서비스 아키텍쳐 (MSA) 에 관한 내용 (0) | 2023.04.04 |
(FLUTTER) Ai 반실사 앱 : Ai_Pict 출시 (0) | 2023.04.04 |
CentOS 7.9에서 python3.10이상 설치 (0) | 2023.04.04 |