inblog logo
|
neeke
    Linux

    Apache, php, Mysql 소스 설치

    Feb 21, 2023
    Apache, php, Mysql 소스 설치
    Contents
    🚴 Apache 설치🚴‍♀️ PHP 설치🚴‍♂️ MYSQL 설치🚴 Apache 설치🚴‍♂️ MYSQL 설치🚴‍♀️ PHP 설치
     
     
    1. 기존 컴퓨터 운영체제 환경에 Apache, php, Mysql 각각 설치하기 (Bitnami Nope!)

    🚴 Apache 설치

     
     
    1. Apache 다운
    https://www.apachelounge.com/download/
     
    1. 압축 해제
    notion image
     
    1. C:\APM\Apache24\conf 의 httpd.conf를 열어서 경로 수정
     
    notion image

    notion image
     
    1. 실행
    C:\Apache24\bin의 ApacheMonitor.exe 실행 → localhost 접속
    notion image

     
     
     
     

    🚴‍♀️ PHP 설치

     
     
    1. php 다운
    https://windows.php.net/download/
     
    1. 압축 해제
    notion image
     
    1. C:\php8의 php.ini-development파일을 'php.ini'로 이름 수정
     
    1. php.ini 파일 수정
    notion image
    1. C:\Apache24\conf 의 httpd.conf 수정
    notion image

    notion image
     
    1. 환경변수 설정
    notion image
    notion image
     
     
     

    🚴‍♂️ MYSQL 설치

     
     
    1. Mysql 다운
    https://dev.mysql.com/downloads/mysql/
     
    1. 압축 해제
     
    1. 환경변수 설정
    notion image
    notion image
    2. Linux 기반 가상머신 구축 후, APM 소스 설치(패키지 설치 X)

    🚴 Apache 설치

     
    $ sudo su # cd /usr/local # mkdir apache
     
    1. 웹 서버로부터 소스 파일 다운
    /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
     
    notion image
     
    1. 압축 해제
    /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
    notion image

    ⚠️ no acceptable C compiler found in $PATH 오류 발생

    컴파일러를 찾기 못해서 오류가 발생했다.
    $ sudo apt-get install g++
    g++를 설치해주어 해결!
     
    notion image
    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
     
    notion image

    ⚠️ fatal error: expat.h: 그런 파일이나 디렉터리가 없습니다 오류 발생

     
    apt-get install libexpat1-dev
    libeexpat1를 설치해줘서 오류 해결
     
    notion image
    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
     
    notion image
    오류없이 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가 났을 것으로 예상되어,
    해당 디렉터리를 삭제하고 소스 파일의 압축을 다시 해제한 후 진행했더니 해결되었다.
     
    1. 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
     
    notion image
    마지막 명령 실행 완료 후 위와 같이 떴고
    Firefox에서 127.0.0.1 주소로 접속하여 구동 확인해보았다.
     
    notion image

    !! APACHE 설치 완료 !! 😆

     
     
     

    🚴‍♂️ MYSQL 설치

     
    1. 필수 패키지 설치
    /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
     
    1. 소스 파일 다운 & 압축 해제
    /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
     
    1. 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
     
    1. 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 성공!
     
    1. make && make install
    notion image
    make && make install 장장 3시간 정도에 걸쳐 완료
     
    1. 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
    notion image
    생성 완료, 주어진 임시 비밀번호를 기억해두고 후에 비밀번호를 변경해주었다.
     
    6-5. 서버 실행
    /usr/local/mysql# bin/mysqld_safe —user=mysql &
     
    6-6. 명령어 입력
    bin/mysql -u root -p
     
    notion image

    !! MySQL 설치 완료 !! 😆

     
     

    🚴‍♀️ PHP 설치

     
    1. 필수 패키지 설치
    /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
     
    1. 소스 파일 다운 & 압축 해제
    /usr/local# wget https://www.php.net/distributions/php-8.1.0.tar.gz /usr/local# tar xvfz php-8.1.0.tar.gz
     
    1. 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
    notion image
    configure 성공
     
    1. make && make install
    notion image
    이번 make도 시간이 꽤 걸렸다, 무사히 완료~!
     
    notion image
    제대로 깔렸는지 확인 (libphp.so)
     
    1. apache와 php 연동
    /usr/local# vi /usr/local/apache2.4/conf/httpd.conf
    httpd.conf 를 열어
    🔑
    AddType application/x-httpd-php .php .html
    위 코드를 추가하고 저장해준다.
     
    notion image
     
     
    1. 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의 설정 파일
     
    1. 테스트를 위한 php 파일 작성
    /usr/local# vi /usr/local/apache2.4/htdocs/phpinfo.php <? php phpinfo(); ?>
    phpinfo.php에 들어가 위 코드를 작성하고 저장해준다.
     
    1. 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
     
    notion image

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

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

    !! PHP 설치 완료 !! 😆

     
    Share article

    neeke

    RSS·Powered by Inblog