OS/Linux

APM 설치 [Apache+PHP+Mysql]

아르비스 2014. 1. 15. 11:19

Ubuntu에 Web 개발 환경인 APM을 설치하는 과정이다.



우분투의 APM을 설치법을 알아보는데 apt-get을 이용한 설치법이다.

소스설치를 할 경우 아래의 링크들을 참고한다.

http://forum.falinux.com/zbxe/index.php?document_srl=627832&mid=lecture_tip


$ sudo apt-get install apache2

( 우분투 12.04 에서 현재 날짜 기준 버전 2.2.22 가 설치된다. )


- 설치 확인

$ ifconfig eth0 | grep inet | awk '{ print $2 }'

위의 명령을 입력하면 서버의 IP 주소를 출력한다.

웹브라우저에서 서버의 IP 주소를 입력후 "It's  Works!" 라는 페이지가 뜨면 설치 성공

$ sudo apt-get install mysql-server mysql-client

( 우분투 12.04 에서 현재 날짜 기준 버전 5.5.22 가 설치된다. ) 


설치중에 mysql의 root 유저의 비밀번호를 설정한다.

( 리눅스계정의 root 와 다른 mysql 만의 root 유저 비밀번호 설정이다 )


- MySQL 인증모듈 설치

$ sudo apt-get install libapache2-mod-auth-mysql

( mysql DB를 사용한 사용자 인증을 위해서 필요하다 )


- MySQL 기본 DB 설치

$ sudo mysql_install_db

( 이거 안해도 인스톨시 기본적으로 생성되는 것 같다. )


- MySQL 기본 보안 설정

$ sudo /usr/bin/mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!


In order to log into MySQL to secure it, we'll need the current

password for the root user.  If you've just installed MySQL, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.


Enter current password for root (enter for none):  // root 패스워드 입력

OK, successfully used password, moving on...


Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.


You already have a root password set, so you can safely answer 'n'.


Change the root password? [Y/n]  // 이미 MySQL 설치시 입력했으니 패스 n

New password: 

Re-enter new password: 

Password updated successfully!

Reloading privilege tables..

 ... Success!


나머지 설정값들은 기본적으로 엔터만 입력해서 y 를 선택할 수 있다.


By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.


Remove anonymous users? [Y/n] 

 ... Success!


Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.


Disallow root login remotely? [Y/n] 

 ... Success!


By default, MySQL comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.


Remove test database and access to it? [Y/n] 

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!


Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.


Reload privilege tables now? [Y/n] 

 ... Success!


Cleaning up...


All done!  If you've completed all of the above steps, your MySQL

installation should now be secure.


Thanks for using MySQL!

$ sudo apt-get install php5

( 우분투 12.04 에서 현재 날짜 기준 버전 5.3.10 가 설치된다. )

apache2-mpm-prefork, libapache2-mod-php5, php5-cli, php5-common 이 함께 설치된다.


Apache와 PHP 연동

$ sudo apt-get install libapache2-mod-php5

( 우분투에서는 자동으로 이 모듈을 설치시 php를 사용가능하도록 설정한다. 위에서 같이 설치된다. )


PHP와 MySQL 연동

$ sudo apt-get install php5-mysql


php5-mcrypt

$ sudo apt-get install php5-mcrypt


PHP를 명령 프롬프트에서 사용하기

$ sudo apt-get install php5-cli

( 위에서 같이 설치된다. )


그 밖의 php5 모듈 찾는 법

$ sudo apt-cache search php5-

phpMyAdmin의 두가지 선택버전이 존재한다.
PPA를 이용해 최신의 버전을 사용하던지 우분투 12.04에서 제공하는 3.4 대의 버전을 사용하던지...

구버전 사용하기

$ sudo apt-get install phpmyadmin


최신버전 사용하기

ppa 저장소를 이용해서 최신의 phpmyadmin을 사용하도록 한다.

저장소 ppa:nijel/phpmyadmin

$ sudo apt-get install python-software-properties

$ sudo add-apt-repository ppa:nijel/phpmyadmin

$ sudo apt-get update

$ sudo apt-get install phpmyadmin

$ dpkg -l phpmyadmin


설치중에 db_config를 이용한 설정을 할것인지 묻고 (Yes 선택) MySQL 패스워드를 다시 물으며 사용하는 웹서버 선택하면 자동으로 phpmyadmin을 /etc/apache2/conf.d 디렉토리에 설정파일을 생성한다.


/etc/apache2/conf.d 디렉토리는 /etc/apache2/apache2.conf 파일에서 Include 하므로 phpmyadmin 설정파일을 따로 Include 하지 않아도 된다. 웹게시물들을 확인해보니 이를 Include 하라는 포스팅을 볼 수 있는데 아마도 phpmyadmin 설치시 db_config를 이용한 설정을 하지 않았을 경우로 보인다. 


만약 phpmyadmin 설정 파일을 Include 한다면 두번이나 로드하기 때문에 에러메시지를 띄울것이다.


Depends - phpmyadmin 4.0.5

libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5, php5-mysql | php5-mysqli | php5-mysqlnd, php5-mcrypt, php5-json, perl, debconf (>= 0.5) | debconf-2.0, dbconfig-common, ttf-dejavu-core, php-gettext, ucf (>= 0.28)

데몬이 대기중인 포트 확인 

$ sudo netstat -antp | grep apache2

$ sudo netstat -antp | grep mysqld


PHP와 Apache 연동 확인

sudo vi /var/www/phpinfo.php

<?php

phpinfo();

?>


웹브라우저에서 http://서버IP/phpinfo.php 로 확인한다.