[Ubuntu] apache, mysql, php 수동설치 매뉴얼
- Apache, Mysql, PHP, phpMyAdmin를 간편하게 설치할수 있지만, 수동으로 설치하는 방법을 메모해둠.
- MySQL->Apache->PHP->phpMyAdmin 설치순으로 진행함.
- 직접 설치하면서 기술한것이므로 부족한점이나 잘못된점 또는 더 쉬운방법이 있을수 있습니다.
- 지적은 언제든 환영합니다.
- 퍼가실때는 반드시 출처를 밝혀주시기 바랍니다. ( http://luuaz.cf )
- 설치환경: Ubuntu 13.10 32bit (VM)/ MySQL 5.6.14 / apache 2.4.7 / php 5.5.6 / phpMyAdmin 4.1.5
- 모든작업은 root 에서 작업합니다. ( ~$ sudo su )
- 기본작업경로 /usr/local/luuaz
* MySQL 수동설치
1. mysql-5.6.xx-linux-glibc2.5-i686.tar.gz 다운로드
2. root로그인
~$ sudo su
3. mysql 그룹,유저생성
# groupadd mysql
# useradd -r -g mysql mysql
4. UNPACK (여기서는 /usr/local/luuaz/mysql)
# cd /usr/local/luuaz
# tar xvfz ./mysql-5.6.xx-linux-glibc2.5-i686.tar.gz
# ln -s mysql-5.6.xx-linux-glibc2.5-i686 mysql
5. 소유권 변경
# cd /usr/local/luuaz/mysql
# chown -R mysql. ./*
6. 데이터베이스 초기화 생성
# ./script/mysql_install_db --user=mysql
※ 만약 libaio.so.1 라이브러리를 찾을수 없다는 에러발생시. # apt-get install libaio1 |
7. 소유권 변경
# chown -R root . (선택사항. 다만 data디렉토리는 반드시 mysql계정이어야한다!)
# chown -R mysql data
8. my.cnf 수정
# vi ./my.cnf
basedir = /usr/local/luuaz/mysql datadir = /usr/local/luuaz/mysql/data port = 3306 tmpdir = /tmp |
9. MySQL서버 시작.
# ./bin/mysqld_safe --user=mysql &
10. 서버가 정상적으로 실행중인지 mysqladmin을 이용하여 확인.
# ./bin/mysqladmin version
# ./bin/mysqladmin variables
11. init 스크립트에 복사
# cp ./support-files/mysql.server /etc/init.d/mysql
# update-rc.d mysql defaults
12. 환경변수 PATH등록 (어디서도 mysql/bin에 접근할수있도록 PATH설정)
# vi /etc/profile
추가: export PATH=$PATH:/usr/local/luuaz/mysql/bin: 저장후종료 |
# source /etc/profile
13. mysql서버를 종료했다가 다시 실행해본다.
아무문제가없으면 정상인것임.
# mysqladmin -uroot shutdown
# mysqld_safe --user=mysql &
14. 다시 종료하고 서비스로도 실행하고 중지해본다.
# service mysql start
# service mysql stop
※ 만약 /usr/local/mysql 에 위치하지 않을경우 * Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe) 라는 에러가 발생한다.
vi /etc/init.d/mysql 을 열어 basedir=/usr/local/luuaz/mysql datadir=/usr/local/luuaz/mysql/data 를 설정해준다 |
----여기까지 MySQL 설치완료.
15. root 계정의 암호를 설정
# mysqladmin -uroot password "새로운패스워드"
16. 데이터베이스 생성
# mysql -uroot -p패스워드
mysql> create database luuaz;
mysql> show databases;
17. 사용자 생성
mysql> use mysql
mysql> grant all privileges on *.* to luuaz@localhost identified by '77777' with grant option;
18. 생성된 사용자에게 이전에 만든 DB권한 주기.
mysql> grant all privilges on luuaz(DB명).* to luuaz(사용자명)@localhost identified by '77777' with grant option;
또는?
mysql> grant all on luuaz.* to luuaz@localhost;
--MySQL 끝.
* Apache 수동설치
Apache Httpd 수동설치는 apr, aprutil, pcre라이브러리가 필요하다. * apr, aprutil 다운로드 http://apr.apache.org * pcre 다운로드 http://pcre.org/ |
1. httpd-2.4.x.tar.gz 다운로드
2. root로그인
~$ sudo su
3. apr 설치 (1.5.0버전 설치)
# cd apr다운경로
# ./configure --prefix=/usr/local/luuaz/test_lib/apr
# make
# make install
4. aprutil설치 (1.5.3 설치)
# cd aprutil다운경로
# ./configure --prefix=/usr/local/luuaz/test_lib/aprutil --with-apr=/usr/local/luuaz/test_lib/apr
# make
# make install
5. pcre설치 (8.33 설치)
# cd pcre다운경로
# ./configure --prefix=/usr/local/luuaz/test_lib/pcre
# make
# make install
※ error: You need a C++ compiler for C++ support 발생시 # apt-get install g++ |
6. httpd 컴파일
# ./configure --prefix=/usr/local/luuaz/apache-2.4.7 --with-apr=apr경로 --with-apr-util=apr-util경로 --with-pcre=pcre경로 --enable-module=so --enable-so
# make
# make install
7. 심볼릭 링크설정 (선택사항)
# ln -s /usr/local/luuaz/apache-2.4.7 apache2
8. 포트변경(선택사항)
# vi ./conf/httpd.conf
Listen 8080 |
9. 테스트실행
# ./bin/apachectl -k start
브라우저에서 localhost:8080 으로 접속시 It Works가 보이면 정상설치
※ AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ~~~ 뭐시기 에러발생시 httpd.conf를 열어 ServerName localhost 수정 또는 삽입후 재시도 |
10. init.d 실행 스크립트 추가
# cp ./bin/apachectl /etc/init.d/apache
# update-rc.d apache defaults
-- apache 끝.
* PHP5 수동설치
1. php-5.5.6.tar.gz 다운로드
2. root로그인
~$ sudo su
3. 압축해제
# cd /usr/local/luuaz
# tar xvfz php-5.5.6.tar.gz
4. 컴파일
# ./configure --prefix=/usr/local/luuaz/php-5.5.6
--with-apxs2=/usr/local/luuaz/apache2/bin/apxs
--with-config-file-path=/usr/local/luuaz/php-5.5.6/conf
--with-config-file-scan-dir=/usr/local/luuaz/php-5.5.6/conf.d
--with-mysql=/usr/local/luuaz/mysql
(--with-gd XE설치시..)
(--enable-mbstring --with-mysqli --enable-mcrypt phpMyAdmin설치시..)
※ error: xml2-config not found. Please check your libxml2 installation.에러발생시 # apt-get install libxml2-dev 커맨드 입력하여 libxml2-dev 설치 ※ XE나 phpMyAdmin설치시 gd, mbstring, mysqli, mcrypt 확장모듈은 추가로 설치가능 |
# make
# make install
5. php.inf 카피
# cp php.ini-production ../php-5.5.6/conf/php.ini
6. 환경변수 PATH등록 (어디서도 php/bin에 접근할수있도록 PATH설정)
# vi /etc/profile
추가: export PATH=$PATH:/usr/local/luuaz/mysql/bin:/usr/local/luuaz/php-5.5.6/bin 저장후종료 |
# source /etc/profile
7. Apache설정
# vi apache2/conf/httpd.conf
LoadModule php5_module modules/libphp5.so AddHandler php5-script .php AddType text/html .php 추가하고 <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> |
8. Apache 재시작
# service apache restart
9. 테스트PHP Script 작성
# cd /usr/local/luuaz/apache2/htdocs
# vi phpinfo.php
<? phpinfo(); ?> |
※ 브라우저에 표시가안된다면 <?php ~~~ ?> 로 작성하거나 php.info 에서 Short_open_tag = Off -> On 으로 설정 |
☆ ExpressEngine 설치하려면.. GD_LIBRARY 확장모듈이 필요함. 1. # cd php설치소스경로/ext/gd/ 2. phpize 3. ./configure --with-zlib-dir --with-jpeg-dir --with-png-dir --with-freetype-dir ※ configure: error: jpeglib.h not found. # apt-get install libjpeg-dev ※ configure: error: png.h not found. # apt-get install libpng-dev ※ configure: error: freetype.h not found. # apt-get install libfreetype6-dev 4. make 5. ./modules안에 gd.so생성됨. 6. # cp gd.so /usr/local/luuaz/php/modules 에 복사 7. php.ini 수정 -------------------------- extension_dir= "/usr/local/luuaz/php/modules" extension=gd.so -------------------------- 8. Apache 재시작 |
* phpMyAdmin 설치
1. phpMyAdmin-4.1.5-all-languages.zip 다운로드
2. htdocs상위에 이동 또는 심볼릭링크 또는 Apache설정의 alias설정
(이때 디렉토리권한이 777이면 안됨. 755로 설정)
3. php 확장모듈 mbstring설치
# cd php소스/ext/mbstring
# phpize
# ./configure --with-php-config=/usr/local/luuaz/php-5.5.6/bin/php-config --enable-mbstring
# make
- ./modules에 생성된 so를 php확장 모듈디렉토리로 복사
- php.ini에 extension=mbstring.so 추가
- apache 재시작
4. php 확장모듈 mysqli설치
# cd php소스/ext/mysqli
# phpize
# ./configure --with-php-config=/usr/local/luuaz/php-5.5.6/bin/php-config --with-mysqli=/usr/local/luuaz/mysql/bin/mysql_config
# make
- ./modules에 생성된 so를 php확장 모듈디렉토리로 복사
- php.ini에 extension=mysqli.so 추가
- apache 재시작
5. php 확장모듈 mcrypt설치
# cd php소스/ext/mcrypt
# phpize
# ./configure --with-php-config=/usr/local/luuaz/php-5.5.6/bin/php-config --enable-mcrypt
※ CONFIGURE: ERROR: MCRYPT.H NOT FOUND. PLEASE REINSTALL LIBMCRYPT. 에러시 # apt-get install libmcrypt-dev |
# make
- ./modules에 생성된 so를 php확장 모듈디렉토리로 복사
- php.ini에 extension=mcrypt.so 추가
- apache 재시작
6. 브라우저에서 http://localhost:8080/phpMyAdmin 접속