CentOS7 AAI V.1.5.6
본문
웹서버 한번에 해결되는 APM 자동 설치 스크립트 AAI
CentOS 7.9 minimal OS 버전에서 최소설치 사양으로 진행 하였습니다.
첨부된 사용설명서는 필독 하시기 바랍니다.
AAI - APM AUTO INSTALL V.1.5.6
쉽고 빠른 설치, 운영, 업데이트까지 고려한 설계
쉬운 업데이트 지원. (공식+인기 저장소를 사용하여 yum update 만으로 업데이트 완료)
사용자 생성,삭제,백업 스크립트 사용으로 시스템 계정, 디비 계정 자동 생성 지원
Let's Encrypt - 무료 SSL 인증서 발급 및 갱신 지원
Multi PHP 지원 (base php7.2) - 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1
모니터링 툴 - cockpit 지원
AAI GIT 설치 방법
SSH와 SFTP 는 필히 root 권한으로 접속 합니다.
아래 명령어를 사용해서 설치를 진행 합니다. 설치 화면에서 'y' 만 누르면 설치가 진행 됩니다.
yum -y install git \
&& cd /root/ \
&& git clone https://github.com/joosung/AAI.git \
&& cd AAI \
&& sh install.sh
AAI 다운로드 설치 방법
- SSH와 SFTP 는 필히 root 권한으로 접속 합니다.
- AAI-master 압축 파일을 다운로드 받으시고 압축을 해제 후 AAI 폴더로 변경 후 자신의 서버 /root 폴더에 업로드한다.
- Shell(터미널)에서 /root/AAI 폴더내의 install.sh 파일의 퍼미션을 chmod 700 install.sh 로 해당 파일의 퍼미션을 700 으로 수정한다.
- ./install.sh 입력후 엔터를 치고 설치를 진행 하시면 됩니다.
AAI 주요 명령
-
adduser.sh 사용자 계정 추가, VirtualHost 추가, Mysql 계정 추가, Let's Encrypt SSL 추가 를 한번에 또는 개별적으로 진행 할 수 있습니다.
-
deluser.sh 사용자 계정 삭제, VirtualHost 삭제, Mysql 계정 삭제, Let's Encrypt SSL 삭제 를 한번에 또는 개별적으로 진행 할 수 있습니다.
-
/etc/cron.daily/backup 파일을 에디터로 열고 '패스워드' 를 찾아서 mysql root 패스워드로 교체 합니다.
-
스푸핑 에 관련된 메일을 받고 싶을땐 /etc/sysconfig/arpwatch 파일을 열어서 아래와 같이 수정 하세요. OPTIonS="-u pcap -e '메일주소' -s '보내는이(Arpwatch)' -n 'ㅣ자신의IP/24'"
-
설지 작업이 모두 끝나면 ./chkrootkit 그리고 clamscan -r /home --move=/virus 를 각각 실행해서 바이러스와 멀웨어 등이 없는지 확인 합니다. 테스트 용 바이러스 파일이 생성되므로 있다면 삭제 해 줍니다.
-
사용중인 php 버전을 다른 버전으로 교체 할 경우에는 /etc/httpd/conf.d/계정명.conf 파일을 에디터로 열고 SetHandler "proxy:fcgi://127.0.0.1:9000" 이부분을 찾아서 9000 부분의 뒷자리 두 숫자를 수정해 주시면 됩니다. 예 : PHP 5.6 사용시 9056, PHP 7.0 사용시 9070, PHP 8.0 사용시 9080 등으로 수정 후 AAI 폴더내의 ./restart.sh 를 진행해 주시면 됩니다.
-
cockpit 지원으로 인하여 port 9090 를 서버 방화벽에서 열어 주셔야 합니다.
-
clamav.sh Crontab 적용으로 매주 일요일 01시01분에 바이러스 체크를 진행하고 바이러스가 체크되면 자동으로 /virus 폴더로 이동 됩니다.
그외 소소한(?) 튜닝이나 설정은 구글 검색을 또는 아파치존 QnA 를 통하여 질문 하시면서 자신이 사용하기 좋은 환경을 만들어 가시면 됩니다.
AAI 설치 및 계정 생성과 삭제 방법을 아파치존에서 동영상으로 안내 드리며, 궁금한점 또는 문의사항은 아파치존 QnA를 이용해 주시기 바랍니다.
APM 및 설치 버전은 아래와 같습니다.
httpd 2.4.6 php (base php7.2) 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1
mariadb 10.5.13
ionCube PHP Loader
Zend OPcache
Xdebug
Let's Encrypt
chkrootkit
clamav
arpwatch
fail2ban
mod_evasive
mod_security
mod_security_crs
memcache
memcached
mod_expires 설정
ImageMagick
GeoIP
cockpit - cockpit-storaged 추가
사용지 계정 백업 스크립트 사용자 계정 생성 스크립트 사용자 계정 삭제 스크립트 등......
그외 필요한 라이브러리도 같이 설치가 됩니다.
MariaDB 와 clamav 버전업 그리고 php8.1 추가에 따른 수정 버전 입니다.
**해당 버전은 해당 APM 및 라이브러리 업데이트에 따라 달라 질 수 있습니다.
첨부파일
- AAI.V.1.5.6.zip (367.0K) 34회 다운로드 | DATE : 2021-12-17 18:08:23
관련링크
- https://github.com/joosung/AAI 1278회 연결
댓글목록 15
해피탱크님의 댓글
해피탱크 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (175.♡.♡.125) 작성일
어제의 실패를 딛고 새로운 마음으로....
오늘 오라클 버추어박스로 새롭게 다시 한 번 설치해보았습니다.
결과는 php-zip 라이브러리가 올라오지 않네요. ㅠㅠ
(그랬다가 원인 분석해서 재설치를 하니 잘 올라왔습니다. 이유는 잘 모르겠어요.
기본 모듈 설치할때 너무 앞쪽에 배치한건지...)
아래는 작업 과정을 기억을 더듬어 정리한 것입니다.
APMinstaller.sh 를 수정하여 아래 모듈을 추가 설치하도록 했구요.
php56-php-gd x86_64 5.6.40-32.el7.remi remi-safe 76 k
php56-php-pecl-zip x86_64 1.20.0-1.el7.remi remi-safe 53 k
php56-php-xml x86_64 5.6.40-32.el7.remi remi-safe 171 k
php74-php-gd x86_64 7.4.27-1.el7.remi remi-safe 88 k
php74-php-pecl-zip x86_64 1.20.0-1.el7.remi remi-safe 54 k
php74-php-xml x86_64 7.4.27-1.el7.remi remi-safe 174 k
미쳐 결과를 캡처 못하였지만, 최초 기본 모듈 설치할때 php-pecl-zip 과 의존 모듈도 함께 설치하도록 하였습니다.
yum -y install wget openssh-clients bind-utils git nc vim-enhanced man ntsysv iotop \
sysstat strace php-pecl-gd php-pecl-xml php-pecl-zip lsof mc lrzsz zip unzip bzip2 glibc* \
/etc/php.d 에 extension=zip.so 도 넣고 재부팅도 하였습니다.
[root@localhost AAI]# echo "extension=zip.so" >> /etc/php.d/40-zip.ini
[root@localhost AAI]# ls /etc/php.d
20-bz2.ini 20-curl.ini 20-ftp.ini 20-json.ini 20-tokenizer.ini
20-calendar.ini 20-exif.ini 20-gettext.ini 20-phar.ini 40-memcache.ini
20-ctype.ini 20-fileinfo.ini 20-iconv.ini 20-sockets.ini 40-zip.ini
[root@localhost AAI]# cat /etc/php.d/40-zip.ini
extension=zip.so
[root@localhost AAI]# sh restart.sh
[root@localhost AAI]#
그러나 결과는...
[root@localhost AAI]# php -m | grep zip
[root@localhost AAI]#
혹시나 하여 "yum list installed | grep zip"로 검색해보니...
[root@localhost AAI]# yum list installed | grep zip
bzip2.x86_64 1.0.6-13.el7 @base
bzip2-devel.x86_64 1.0.6-13.el7 @base
bzip2-libs.x86_64 1.0.6-13.el7 @anaconda
gzip.x86_64 1.5-10.el7 @anaconda
libzip.x86_64 0.10.1-8.el7 @base
libzip5.x86_64 1.8.0-2.el7.remi @remi-safe
perl-Compress-Raw-Bzip2.x86_64 2.061-3.el7 @base
php56-php-pecl-zip.x86_64 1.20.0-1.el7.remi @remi-safe
php74-php-pecl-zip.x86_64 1.20.0-1.el7.remi @remi-safe
unzip.x86_64 6.0-24.el7_9 @updates
zip.x86_64 3.0-11.el7 @base
"php-pecl-zip" 요 녀석이 인스톨이 안되어 있군요... 흠...
위에서 분명히 실행을 했을 텐데요....
그래서 다시 설치하고 리스타트!
[root@localhost AAI]# yum install php-pecl-gd php-pecl-xml php-pecl-zip
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
--- 중략 ---
Dependencies Resolved
===============================================================================================
Package Arch Version Repository Size
===============================================================================================
Installing:
php-pecl-zip x86_64 1.20.0-1.el7.remi.7.2 remi-php72 61 k
Transaction Summary
--- 중략 ---
Running transaction
Installing : php-pecl-zip-1.20.0-1.el7.remi.7.2.x86_64 1/1
Verifying : php-pecl-zip-1.20.0-1.el7.remi.7.2.x86_64 1/1
Installed:
php-pecl-zip.x86_64 0:1.20.0-1.el7.remi.7.2
Complete!
[root@localhost AAI]# ls /etc/php.d
20-bz2.ini 20-curl.ini 20-ftp.ini 20-json.ini 20-tokenizer.ini 40-zip.ini
20-calendar.ini 20-exif.ini 20-gettext.ini 20-phar.ini 30-zip.ini <-- 30-zip.ini가 새로 생겼네요.
20-ctype.ini 20-fileinfo.ini 20-iconv.ini 20-sockets.ini 40-memcache.ini
[root@localhost AAI]# sh restart.sh
[root@localhost AAI]# php -m | grep zip
zip <------ 오 생겼어요....
전 모든 버전 설치하기 싫어서 5.6과 7.4만 설치되도록 인스톨러를 수정했는데요.
두 군데 웹의 phpinfo로도 잘 로딩 되는거 확인하였습니다.
어제 일은... 제가... 무언가 잘못 건든거겠죠 ㅠㅠ
공유해주신 인스톨러를 너무 잘 활용하고 있어요.
사용할때마다 감사드리지만,
한 번 더 감사의 말씀을 드립니다.
---------------------------------------------------------
적는 김에 하나 더 ^^
clamav 설치는 잘 되었으나, conf 파일을 복사하는 과정에서 에러가 발생했네요.
Verifying : clamav-devel-0.103.5-1.el7.x86_64 5/11
Verifying : clamav-filesystem-0.103.5-1.el7.noarch 6/11
Verifying : clamav-0.103.5-1.el7.x86_64 7/11
Verifying : clamd-0.103.5-1.el7.x86_64 8/11
Verifying : clamav-lib-0.103.5-1.el7.x86_64 9/11
Verifying : gnutls-3.3.29-9.el7_6.x86_64 10/11
Verifying : libprelude-5.2.0-2.el7.x86_64 11/11
Installed:
clamav.x86_64 0:0.103.5-1.el7 clamav-data.noarch 0:0.103.5-1.el7
clamav-devel.x86_64 0:0.103.5-1.el7 clamav-filesystem.noarch 0:0.103.5-1.el7
clamav-lib.x86_64 0:0.103.5-1.el7 clamav-update.x86_64 0:0.103.5-1.el7
clamd.x86_64 0:0.103.5-1.el7
Dependency Installed:
gnutls.x86_64 0:3.3.29-9.el7_6 libprelude.x86_64 0:5.2.0-2.el7 nettle.x86_64 0:2.7.1-9.el7_9
trousers.x86_64 0:0.3.14-2.el7
Complete!
cp: cannot stat `/usr/share/doc/clamd-0.103.4/clamd.conf': 그런 파일이나 디렉터리가 없습니다
sed: /etc/clamd.conf (을)를 읽을 수 없음: 그런 파일이나 디렉터리가 없습니다
sed: /etc/clamd.conf (을)를 읽을 수 없음: 그런 파일이나 디렉터리가 없습니다
sed: /etc/clamd.conf (을)를 읽을 수 없음: 그런 파일이나 디렉터리가 없습니다
sed: /etc/clamd.conf (을)를 읽을 수 없음: 그런 파일이나 디렉터리가 없습니다
Created symlink from /etc/systemd/system/multi-user.target.wants/clam-freshclam.service to /usr/lib/systemd/system/clam-freshclam.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/clamd.service to /usr/lib/systemd/system/clamd.service.
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.kaist.ac.kr
---------------------
테스트 환경은 Centos7 minimal 버전이구요.
서버는 오라클 버추어박스를 이용하였습니다.
해피탱크님의 댓글
해피탱크 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (175.♡.♡.125) 작성일
오늘 카페24의 퀵호스팅 서버를 다시 구매하여 어제 테스트한 걸 다시 시도해보았습니다.
결과는... 두둥... 안됩니다.
에러도 지난 번과 완전 동일하네요.
카페24는 CentOS7.6 버전으로 기본 설치가 됩니다.
안되는 이유가 CentOS 버전 차이때문이던가, Cafe24에서는 안되는건지... 둘 중 하나 일텐데...
제가 카페24에서 AAI로 몇번 설치 해보았기 때문에 후자는 아닌 것 같고,
전자 때문이 아닌가 합니다.
에고... 어쩌징...
해피탱크님의 댓글의 댓글
해피탱크 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (175.♡.♡.125) 작성일
일단 저는 완전 해결하였네요. 문제는 libzip이라는 놈이었습니다. 이놈이 먼저 로드가 되면서 php-pecl-zip이 로드되지 않는 문제라고 하는군요.
(여전히 이해가 안되는 것은 어제 버추어박스(centos7.9)에서는 잘 되었는데, 오늘 카페24(centos7.6)에서는 안되는 군요)
아마도 cent os의 버전 차이가 아닌가 합니다.
- 참고 URL 1 : https://forum.remirepo.net/viewtopic.php?id=4293
- 참고 URL 2 : https://github.com/remicollet/remirepo/issues/182
위 문서에 적힌데로, libzip을 삭제해버리니 걍 로드 되는군요.
[root @ tankla /]# yum remove libzip
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package libzip.x86_64 0:0.10.1-8.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================
Package Arch Version Repository Size
======================================================================================================
Removing:
libzip x86_64 0.10.1-8.el7 @base 104 k
Transaction Summary
======================================================================================================
Remove 1 Package
Installed size: 104 k
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : libzip-0.10.1-8.el7.x86_64 1/1
Verifying : libzip-0.10.1-8.el7.x86_64 1/1
Removed:
libzip.x86_64 0:0.10.1-8.el7
Complete!
[root @ tankla /]# php -m | grep zip
zip
[root @ tankla /]#
해피탱크님의 댓글의 댓글
해피탱크 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (175.♡.♡.125) 작성일
버추어머신에서 CentOS 7.9 설치 테스트 할때나,
카페24 재가입 후 설치할때는
php-xml, php-gz, php-pecl-zip 이외에는 맹세코 다른 것들을 설치하지 않았어요. ^^
딱 APMinstaller.sh 만 설치 한 후 테스트 한거였어요.
그래도 해결책은 찾았으니까~ ^^
서버의 길은 멀고도 험하군요~ (뭐 코딩도 그렇지만요)
다른 일을 하시면서
이런 좋은 솔루션을 제공하시는 것까지...
아파치님은 정말 대단하시다는 생각뿐입니다.
염치없지만 앞으로도 많은 도움 받을게요~
때때로 열심히 테스트도 해보고 그럴게요 ^^
고마워요~~
타벌린나무님의 댓글
타벌린나무 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (211.♡.♡.115) 작성일버전업~ 축하합니다.