[PHP] PHP/APACHE/MySQL (APM) 수동 설치
설치 순서는 다음과 같다.
( OS : CentOS 7 )
1. Apache : 최신 버전 ( 2.4.6 )
2. MySQL : 7.5 <- 하위 버전이기 때문에 수동 설치
3. PHP : 5.3.29 <- 하위 버전이기 때문에 수동 설치
4. PHP 설정 파일 (php.ini) 수정
5. 아파치 설정 파일 (httpd.conf) 수정
1. Apache 설치
yum 으로 간단히 설치 가능하다.
$ yum install apache
2. MySQL 설치
( 참고 : https://www.linode.com/docs/databases/mysql/how-to-install-mysql-on-centos-7 )
아래 커멘드 순서대로 하면 MySQL 서버(mysql-server)가 설치 완료된다.
$ sudo yum update $ yum install wget $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm $ yum update $ sudo yum install mysql-server
그 다음 현재 루트 계정에 비밀번호가 없기 때문에 비밀번호를 만들어 준다.
my.cnf 파일을 열어 [mysqld] 하단에 skip-grant-tables 옵션을 추가하여, 패스워드 없이 로그인이 가능하도록 한다.
기본적으로 /etc/ 폴더 밑에 my.cnf 가 존재하며, vim (vi) 로 열어 수정해준다.
$ vim /etc/my.cnf
[mysqld] ..중략.. skip-grant-tables
mysql 서버를 시작한 후 mysql에 접속해서 루트 계정에 대한 비밀번호를 변경한다.
# mysql 서버 시작 $ sudo service mysqld start # mysql 접속 $ mysql –uroot mysql
mysql> UPDATE user SET password=PASSWORD('패스워드') WHERE user='root';
3. PHP 설치
1) https://www.php.net/releases/ 에서 원하는 버전 (PHP5.3.29) tar 다운받는다.
2) 의존성 라이브러리들을 설치한다.
필요 없는 라이브러리가 있다면 해당 라이브러리를 빼고 해도 상관 없다.
$ yum -y install libxml2-devel bzip2-devel libcurl-devel gdbm-devel libvpx libvpx-devel libjpeg-turbo-devel libpng-devel libXpm \ libXpm-devel freetype-devel t1lib t1lib-devel gmp-devel libc-client libc-client-devel pam-devel libicu libicu-devel openldap-devel \ readline-devel libedit-devel libtidy libtidy-devel libxslt libxslt-devel expat* krb5-devel openssl-devel db4-devel
3) libmcrypt 설치 및 심볼릭 링크 생성한다.
$ wget http://www.atblog.co.kr/file/package/libmcrypt-2.5.8.tar.gz $ tar zxvf libmcrypt-2.5.8.tar.gz $ cd libmcrypt-2.5.8 $ ./configure $ make $ make install $ ln -s /usr/local/lib/libmcrypt.so.4 /usr/local/lib64/libmcrypt.so.4
4) 다운받은 PHP .tar 파일 압축 해제한다.
$ tar zxvf php-5.3.29.tar.gz $ cp php-5.3.29
5) apxs 설치
# apxs 가 설치 되어 있는지 확인한다. $ find / name 'apxs' -print # 설치 되어 있지 않는 경우 설치한다. $ yum install httpd-devel
6) PHP 설치
apxs2 경로는 설치한 apxs 경로를 입력하면 되며,
config-file-path 는 php.ini 파일 넣어둘 설정 폴더이다.
$ ./configure --prefix=/usr/local/php\ --with-mysql=mysqlnd\ --with-pdo-mysql=mysqlnd\ --with-mysqli=mysqlnd\ --with-apxs2=/usr/bin/apxs\ --with-config-file-path=/usr/local/apache/conf\ --with-regex=php\ --with-zlib\ --disable-debug\ --enable-calendar\ --enable-ftp\ --enable-sockets\ --enable-sysvsem\ --enable-sysvshm\ --with-gd\ --enable-mbstring $ make $ make install
7) MySQL 과 PHP 연결
$ yum install php-mysql
4. PHP 설정 파일 (php.ini) 수정
1) php-5.3.29 폴더 안에 php.ini-development 파일을 PHP설치시 config-file-path에 입력한 폴더 안에 php.ini으로
이름을 변경하여 넣어준다.
$ cp php.ini-development /usr/local/apache/conf/php.ini
2) php.ini 파일 수정한다.
- mysql 사용을 위해 주석 제거한다.
extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll
- 시간대 변경
date.timezone = "Asia/Seoul"
- 인코딩 변경 ( 한글 )
default_charset = 'utf8'
5. 아파치 설정 파일 (httpd.conf) 수정
파일은 /etc/httpd/conf/ 에 있다.
- AddType application/x-gzip .gz .tgz 밑에 두줄 추가한다.
AddType application/x-httpd-php .php .html AddType application/x-httpd-php-source .phps
- 문서 루트(DocumentRoot) 경로 변경 -> 필수 사항은 아님.
DocumentRoot "/var/www/html"
- LoadModule Php5_module이 되었는지 확인 없을 경우 추가한다.
현재 php5.X.X 버전을 다운 받았기 때문에 PHP5_module 이며,
만약 php7.X.X 버전을 다운 받은 경우 PHP7_module 이 된다.
LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so
- DirectoryIndex 에 index.php 추가한다.
DirectoryIndex index.php index.html
아파치 시작/종료
# 아파치 시작 $ sudo service httpd start # 아파치 재시작 $ sudo service httpd restart # 아파치 종료(중지) $ sudo service httpd stop
MySQL 시작/종료
# Mysql 시작 $ sudo service mysqld start # Mysql 재시작 $ sudo service mysqld restart # Mysql 종료(중지) $ sudo service mysqld stop
'WEB > PHP' 카테고리의 다른 글
[PHP] php 코드 자동 정렬해주는 사이트 (0) | 2019.05.17 |
---|---|
[PHP] Database 접속 확인 코드 (0) | 2019.04.22 |