1. 기존 컴퓨터 운영체제 환경에 Apache, php, Mysql 각각 설치하기 (Bitnami Nope!)
🚴 Apache 설치
- Apache 다운
- 압축 해제

- C:\APM\Apache24\conf 의 httpd.conf를 열어서 경로 수정


- 실행
C:\Apache24\bin의 ApacheMonitor.exe 실행 → localhost 접속

🚴♀️ PHP 설치
- php 다운
- 압축 해제

- C:\php8의 php.ini-development파일을 'php.ini'로 이름 수정
- php.ini 파일 수정

- C:\Apache24\conf 의 httpd.conf 수정


- 환경변수 설정


🚴♂️ MYSQL 설치
- Mysql 다운
- 압축 해제
- 환경변수 설정


2. Linux 기반 가상머신 구축 후, APM
소스 설치(패키지 설치 X)
🚴 Apache 설치
$ sudo su # cd /usr/local # mkdir apache
- 웹 서버로부터 소스 파일 다운
/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-1.7.0.tar.gz /usr/local# wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.1.tar.gz /usr/local# wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz /usr/local# wget https://archive.apache.org/dist/httpd/httpd-2.4.53.tar.gz

- 압축 해제
/usr/local# tar xvfz apr-1.7.0.tar.gz /usr/local# tar xvfz apr-util-1.6.1.tar.gz /usr/local# tar xvfz pcre-8.45.tar.gz /usr/local# tar xvfz httpd-2.4.53.tar.gz
3-1. apr 설치
/usr/local# cd apr-1.7.0 /usr/local# ./configure --prefix=/usr/local/apr /usr/local# make /usr/local# make install

⚠️ no acceptable C compiler found in $PATH 오류 발생
컴파일러를 찾기 못해서 오류가 발생했다.
$ sudo apt-get install g++
g++를 설치해주어 해결!

apr 설치 완료
3-2. apr-util 설치
/usr/local# cd apr-util-1.6.1 /usr/local/apr-util-1.6.1# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr /usr/local/apr-util-1.6.1# make /usr/local/apr-util-1.6.1# make install

⚠️ fatal error: expat.h: 그런 파일이나 디렉터리가 없습니다 오류 발생
apt-get install libexpat1-dev
libeexpat1를 설치해줘서 오류 해결

apr-util 설치 완료
3-3. pcre 설치
/usr/local# cd pcre-8.45 /usr/local/pcre-8.43# ./configure --prefix=/usr/local/pcre /usr/local/pcre-8.43# make /usr/local/pcre-8.43# make install

오류없이 pcre 설치 완료~!
3-4. Apache 설치
/usr/local# cd httpd-2.4.51 /usr/local/httpd-2.4.51# ./configure --prefix=/usr/local/apache2.4 \ --enable-module=so --enable-rewrite --enable-so \ --with-apr=/usr/local/apr \ --with-apr-util=/usr/local/apr-util \ --with-pcre=/usr/local/pcre/bin/pcre-config \ --enable-mods-shared=all /usr/local/httpd-2.4.51# make /usr/local/httpd-2.4.51# make install
make 실행 중
⚠️ collect2: error : Id returned 1 exit status 오류 발생
/usr/local/apr-util부분에서 error가 났을 것으로 예상되어,
해당 디렉터리를 삭제하고 소스 파일의 압축을 다시 해제한 후 진행했더니 해결되었다.
- apache 실행
/usr/local# sudo apache2.4/bin/httpd -k start /usr/local# ps -ef | grep httpd | grep -v grep /usr/local# sudo netstat -anp | grep httpd /usr/local# sudo curl http://127.0.0.1

마지막 명령 실행 완료 후 위와 같이 떴고
Firefox에서 127.0.0.1 주소로 접속하여 구동 확인해보았다.

!! APACHE 설치 완료 !! 😆
🚴♂️ MYSQL 설치
- 필수 패키지 설치
/usr/local# apt-get update /usr/local# apt-get install cmake /usr/local# apt-get install libssl-dev /usr/local# apt-get install libboost-all-dev /usr/local# apt-get install libncurses5-dev libncursesw5-dev
- 소스 파일 다운 & 압축 해제
/usr/local# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19.tar.gz /usr/local# tar xvfz mysql-8.0.19.tar.gz
- boost_1_70_0 압축 파일 다운 & 압축 해제
/usr/local/src# wget https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.gz /usr/local/src# tar xvfz boost_1_70_0.tar.gz
- cmake
/usr/local/mysql-8.0.19/dir_mysql# cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DSYSCONFDIR=/etc \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/usr/local/src/boost_1_70_0
cmake 성공!
- make && make install

make && make install 장장 3시간 정도에 걸쳐 완료
- MySQL 설정
6-1. mysql 그룹 및 유저 생성
/usr/local/mysql-8.0.19/dir_mysql# groupadd mysql /usr/local/mysql-8.0.19/dir_mysql# useradd -r -g mysql -s /bin/false mysql
6-2. 디렉토리 생성
/usr/local# cd mysql /usr/local/mysql# mkdir mysql_files
6-3. 권한 주기
/usr/local/mysql# chown -R mysql:mysql /usr/local/mysql /usr/local/mysql# chown mysql:mysql mysql_files /usr/local/mysql# chmod 750 mysql_files
6-4. 기본 DB 생성
/usr/local/mysql# bin/mysqld --initialize --user=mysql \ --basedir=/usr/local/mysql \ --datadir=/usr/local/mysql/data

생성 완료, 주어진 임시 비밀번호를 기억해두고 후에 비밀번호를 변경해주었다.
6-5. 서버 실행
/usr/local/mysql# bin/mysqld_safe —user=mysql &
6-6. 명령어 입력
bin/mysql -u root -p

!! MySQL 설치 완료 !! 😆
🚴♀️ PHP 설치
- 필수 패키지 설치
/usr/local# apt-get install libxml2-dev /usr/local# apt-get install libjpeg-dev /usr/local# apt-get install libpng-dev /usr/local# apt-get install libsqlite3-dev
- 소스 파일 다운 & 압축 해제
/usr/local# wget https://www.php.net/distributions/php-8.1.0.tar.gz /usr/local# tar xvfz php-8.1.0.tar.gz
- PHP 설치
/usr/local# cd php-8.1.0 /usr/local/php-8.1.0# ./configure \ --with-apxs2=/usr/local/apache2.4/bin/apxs \ --enable-mysqlnd \ --with-mysql-sock=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-imap-ssl \ --with-iconv \ --enable-gd \ --with-jpeg \ --with-libxml \ --with-openssl /usr/local/php-8.1.0# make /usr/local/php-8.1.0# make install

configure 성공
- make && make install

이번 make도 시간이 꽤 걸렸다, 무사히 완료~!

제대로 깔렸는지 확인 (libphp.so)
- apache와 php 연동
/usr/local# vi /usr/local/apache2.4/conf/httpd.conf
httpd.conf 를 열어
AddType application/x-httpd-php .php .html
위 코드를 추가하고 저장해준다.

- php.ini 세팅
/usr/local# cd /usr/local/php-8.1.0 /usr/local# cd php.ini-production /usr/local/lib/php.ini
※ php.ini는 php의 설정 파일
- 테스트를 위한 php 파일 작성
/usr/local# vi /usr/local/apache2.4/htdocs/phpinfo.php <? php phpinfo(); ?>
phpinfo.php에 들어가 위 코드를 작성하고 저장해준다.
- apache 실행
/usr/local# sudo /usr/local/apache2.4/bin/httpd -k start /usr/local# ps -ef|grep httpd|grep -v grep /usr/local# sudo netstat -anp|grep httpd /usr/local# sudo curl http://127.0.0.1

⚠️ AH0558: httpd: Could not reliably .. 오류 발생

httpd.conf 파일을 열어 ServerName을 수정해주니 해결 완료
Firefox에서 127.0.0.1/phpinfo.php로 접속해보았다.

!! PHP 설치 완료 !! 😆
Share article