1. apache 설치(httpd)
yum install httpd
2. mysql 설치
yum install mysql
yum install mysql-server
3. php 설치
yum install php
여기까지 하면 php 연동은 되지만 mysql 연동은 되지 않는다.
4. php-mysql 연동 설치
yum install php-mysql
최신 리눅스들은 설치시 네트워크를 체크하면 자동으로 최신으로 업데이트되며 설치 됩니다.
5. mysql 을 초기화
mysql_install_db 를 실행하고
(어디 있는지 모르겟다면~ find 명령어로!! find / | grep mysql_install_db
수많은 블로그를 찾아다녔지만 다들 /usr/local/mysql 이 있따는데..-_-나는 없다.
find 함수로 겨우 찾앗따는...)
./mysql_install_db
# mysql -u root mysql (root로 mysql 접속)
mysql> UPDATE user SET Password=PASSWORD('new_password') WHERE user='root';
root의 비번을 바꾸는 것이다. new-pasword 란에 새로운 패스워드를 입력하자
mysql> FLUSH PRIVILEGES;
db 계정설정, 비밀번호 등 수정사항이 있을시 적용시키기 위해
db를 재부팅하지 않아도 동일한 효과를 얻을수 있다.
인제 패스워드를 입력해야만 db에 접근할수 있다.
EX) #mysql -u root mysql
password):xxxxxx
mysql>
요렇게 바뀐다.
그리고 php가 잘 연동되는지 확인하려면
/var/www/html/ 디렉토리(홈페이지 화일 위치) 에 index.php 화일 하나를 만들어서
index.php
<? phpinfo(); ?>
와 같이 한후 외부에서 접속을 해보자
브라우저에서 php에 대한 정보가 나온다면 성공...
추가 사항
(1) 아파치 설정파일(/usr/local/apache/conf/httpd.conf) 다루기
요것도 디렉토리가 다를수 있으므로 find / | grep httpd.conf 해서 찾으면됩니다.
아파치 설정파일을 다룹니다. 변경후에는 꼭 아파치를 재시작하시기 바랍니다.
(( 아파치 2.2.X는 설정파일이 기능별로 분리가 되어 있습니다. 아래와 같습니다.
httpd-autoindex.conf httpd-info.conf httpd-mpm.conf httpd-userdir.conf httpd-dav.conf httpd-languages.conf httpd-multilang-errordoc.conf httpd-vhosts.conf httpd-default.conf httpd-manual.conf httpd-ssl.conf ))
- .php 파일 및 html 파일에서 php 코드 실행되게 설정하려면
AddType application/x-httpd-php .php .phtml .php3 .html .htm
AddType application/x-httpd-php-source .phps
위 내용을 추가해 줍니다. 추가 하게 되면 위 파일들에 있는 php 코드는 실행하게 됩니다.
- index.php를 기본으로 실행하게 설정
아파치는 기본적으로 DirectoryIndex index.html index.html.var 이렇게 설정 되어 있어 index.html 파일을 기본으로 읽습니다. 조금 바꾸어 주어 index.php 파일 및 기타 파일들도 기본으로 읽게 설정합니다.
DirectoryIndex index.html index.htm index.php index.php3 index.cgi
- 그림 파일 및 프래쉬 파일 로그 남기지 않게 설정
방문자 수가 많아지면 웹로그가 엄청 쌓이게 되고, 그 로그는 크기가 2G를 넘게 되면 웹페이지에 이상현상이 생깁니다. 그렇다고 로그를 안 남길 수는 없는 것이고, 이미지 파일들은 로그남기는 것에서 제외합니다.
CustomLog logs/access_log common 을
SetEnvIfNoCase Request_URI (gif|png|jpg|css|js|bmp|jpeg|swf)$ IMAGE=1
CustomLog /usr/local/apache/logs/access_log common env=!IMAGE
이렇게 바꾸면^^; 쉽게 가능합니다.
(2) php 설정파일 (/usr/local/lib/php.ini) 다루기
php와 관련된 설정을 다룹니다. 변경후에 꼭 아파치 재 시작을 해 주시기 바랍니다.
- post, get , 쿠키 , 세션등의 변수를 일반변수로
예전에 php는 기본적으로 위 변수를 일반변수로 사용할 수 있었습니다. 하지만 보안에 취약 하기 때문에 php 설치시 기본적으로 일반변소로 사용못하게 설정합니다. 이렇게 되면 문제가 예전에 사용하던 짜여졌던 프로그램은 정상적으로 실행되지 않습니다.
register_globals=On 이렇게 설정합니다.
- 업로드 용량 제한 풀기
기본적으로 업로드는 2M로 제한되어 있습니다. 만약 2M 이상으로 하면 여러 가지 설정들을 바꾸어 줘야 합니다. 업로드 되는 시간을 길 게 해 주어야 하고, 한번에 잡아먹을 메모리를 크게 해 주어야 합니다.
default_socket_timeout = 600
post_max_size = 20M
memory_limit = 20M
upload_max_filesize = 20M
확인
이렇게 열심히 설치 하였다면.. 확인을 해야 합니다. 서버단에서 확인은 이렇게 합니다.
(1) 프로세스 확인
ps -ef | grep httpd
root 24963 1 0 00:46 ? 00:00:00 /usr/local/apache/bin/httpd -k restart
daemon 7319 24963 0 01:16 ? 00:00:00 /usr/local/apache/bin/httpd -k restart
daemon 7320 24963 0 01:16 ? 00:00:00 /usr/local/apache/bin/httpd -k restart
daemon 7321 24963 0 01:16 ? 00:00:00 /usr/local/apache/bin/httpd -k restart
daemon 7322 24963 0 01:16 ? 00:00:00 /usr/local/apache/bin/httpd -k restart
daemon 7323 24963 0 01:16 ? 00:00:00 /usr/local/apache/bin/httpd -k restart
ps -ef | grep mysql
root 5444 29124 0 00:13 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe
mysql 5465 5444 0 00:13 pts/0 00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/study.superuser.co.kr.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql 5466 5465 0 00:13 pts/0 00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/study.superuser.co.kr.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql 5467 5466 0 00:13 pts/0 00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/study.superuser.co.kr.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql 5468 5466 0 00:13 pts/0 00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/study.superuser.co.kr.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
(2) 포트 확인
netstat -an | grep LISTEN | grep 80
tcp 0 0 :::80 :::* LISTEN
netstat -an | grep LISTEN | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
'os > 리눅스' 카테고리의 다른 글
mail delete (0) | 2009.10.21 |
---|---|
Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName httpd (0) | 2009.10.21 |
Access denied for user 'root'@'localhost' (using password: NO) (4) | 2009.10.20 |
httpd 설정 (0) | 2009.10.14 |
vsftpd 설정 (0) | 2009.10.14 |