Server A
소스 설치 순서
configure - make - make install
dnf -y install gcc gcc-c++
XML형식의 문서를 파싱(해석)할 수 있는 패키지 설치
dnf -y install expat expat-devel
XML, YAML 처럼 L로 끝나는 언어를 Markup Language로 즉 특정 양식에 따라 데이터를 기입하는언어를 뜻함
윈도우 PowerShell
cd .\download\
scp .\httpd=2.4.63.tar.bz2 root@192.168.111.100:/root
php, http-apache, arp, arp-utils 다운로드
wget https://dlcdn.apache.org//apr/apr-util-1.6.3.tar.gz
curl -O https://dlcdn.apache.org//apr/apr-util-1.6.3.tar.gz
다운받은 파일 위치 이동
mv .gz /usr/local/src
mv .bz2 /usr/local/src
cd /usr/local/src
다운받은 파일 압축 해제
tar xzf apr-1.7.5.tar.gz
tar xzf apr-util-1.6.3.tar.gz
tar xzf php-8.4.6.tar.gz
tar xfj httpd-2.4.63.tar.bz2
apr, apr-utils 디렉터리를 httpd 디렉터리 내부에 srclib 디렉터리에 복사
cp -a apr-1.7.5 ./httpd-2.4.63/srclib/apr
cp -a apr-util-1.6.3 httpd-2.4.63/srclib/apr-util
pcre 다운로드 - 아파치 설정에서 정규 표현식을 사용 가능하게 만들어줌
curl -L -O https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.45/pcre2-10.45.tar.gz
tar xzf pcre2-10.45.tar.gz
configure 시스템에 설치하기 위한 준비 단계
컴파일러 유무, 경로 등을 확인하거나 지정 완료 후 Makefile 이라는 파일 생성
cd ./pcre2-10.45
dnf -y install make
./configure --prefix=/usr/local/pcre명령어 입력 후 summary가 확인된다면 성공
makefile 확인 후 make
make
make install
make install 설치 전 웹데몬이 실행중이라면 종료
killall httpd
kill - PID를 kill 할 때 사용
killall - 데몬 이름으로 kill 할 때 사용
make install 설치
cd /usr/local/httpd-2.4.63
./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all --with-included-apr --with-pcre=/usr/local/pcre/bin/pcre2-config
makefile 유무 확인 후 컴파일(make)
make
make install
완료 되었다면 ll /usr/local/apache/ 내에 파일이 아래와 같으면 성공
php 모듈 파일 생성 확인을 위한 기본 패키지 설치
dnf -y install libxml2 libxml2-devel sqlite-devel
php 파일로 위치 이동
cd /usr/local/src/php-8.4.6
php 파일 configure-make-make install 작업
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf
configure 완료 되었으면 license thank you가 뜨면 정상적으로 완료된 것
make
make install
php.ini-production을 복사하여 아파치 내부의 conf 내 php.ini에 복사
cp php.ini-production /usr/local/apache/conf/php.ini
아파치 설정 파일 내 403번째 줄에 명령어 추가
vi /usr/local/apache/conf/httpd.conf
AddType application/x-httpd-php .php .htm .html .inc .php8
AddType application/x-httpd-php-source .phps
아파치 시작
/usr/local/apache/bin/apachectl start
에러 발생 시 도메인 이름 입력
vi /usr/local/apache/conf/httpd.conf
207행 주석 제거
/usr/local/apache/htdocs/ = /var/www/html 동일한 경로라고 할 수 있음
방화벽 오픈
firewall-cmd --add-service=http
php 테스트
vi test.php
Server B를 초기화 한 후, Apache 및 PHP를 /usr/local 디렉터리에 소스 설치하시오.
각 프로그램의 의존성을 해결하여 설치하고, 설치 완료 후 작동을 확인하시오.(index.html / test.php 확인)
dnf -y install gcc gcc-c++
dnf -y install expat expat-devel
dnf install -y bzip2
cd /usr/local/src
curl -O -L https://dlcdn.apache.org/httpd/httpd-2.4.63.tar.bz2
curl -O -L https://www.php.net/distributions/php-8.4.6.tar.gz
curl -O -L https://dlcdn.apache.org//apr/apr-1.7.5.tar.gz
curl -O -L https://dlcdn.apache.org//apr/apr-util-1.6.3.tar.gz
curl -L -O https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.45/pcre2-10.45.tar.gztar xfj httpd-2.4.63.tar.bz2
tar xzf php-8.4.6.tar.gz
tar xzf apr-1.7.5.tar.gz
tar xzf apr-util-1.6.3.tar.gz
tar xzf pcre2-10.45.tar.gzcp -a apr-1.7.5 ./httpd-2.4.63/srclib/apr
cp -a apr-util-1.6.3 httpd-2.4.63/srclib/apr-utilcd ./pcre2-10.45
dnf -y install make
./configure --prefix=/usr/local/pcre
make
make installcd /usr/local/src/httpd-2.4.63
./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all --with-included-apr --with-pcre=/usr/local/pcre/bin/pcre2-config
make
make installdnf -y install libxml2 libxml2-devel sqlite-devel
dnf install -y perlcd /usr/local/src/php-8.4.6
vi /usr/local/apache/bin/apxs
#!/replace/with/path/to/perl/interpreter ➡ #!/usr/bin/perl 변경
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf
make
make installcp php.ini-production /usr/local/apache/conf/php.ini
vi /usr/local/apache/conf/httpd.conf
- 403행에 아래 명령어 두 줄 추가
AddType application/x-httpd-php .php .htm .html .inc .php8
AddType application/x-httpd-php-source .phpsvi /usr/local/apache/conf/httpd.conf
- 207행 주석 제거 혹은 아래 명령어 추가
ServerName www.example.com:80/usr/local/apache/bin/apachectl start
firewall-cmd --add-service=http
cd /usr/local/apache/htdocs/
vi test.php웹에서 192.168.111.200, 192.168.111.200/test.php 접속 확인