LAMP를 구성하는 소프트웨어 명세
- Tomcat Connector 1.2.26
- Apache Tomcat 6.0.18
- phpmyadmin 3.1.2
- Apache HTTP Server 2.2.11
- MySQL 5.1.30
- JDK 1.6.0
- vsftpd 2.0.7
- Ubuntu Server 9.04
아래 작업은 기본적으로 root로 로그인하여 작업하는 것을 전제로 하여 정리 한다.
언어 설정은 다국어 지원을 위해 디폴트로 UTF-8로 한다.
Ubuntu Server 9.04의 설치는 아래 링크를 참조 한다.
기본 환경 설정
- 네트워크 연결 확인
ping -c3 google.co.kr
- Ubuntu Server 초기 설정
apt-get update
apt-get upgrade
- 보안 접속 (SSH) 설치, PuTTY를 사용하여 Ubuntu Server에 접속 할 수 있다.
apt-get install ssh
- 방화벽 설치
apt-get install ufw
- 서비스에 필요한 포트만 열어 준다.
ufw default deny
ufw allow 22/tcp #--- For SSH
ufw allow 5901/tcp #--- For VNC
ufw allow 20/tcp #--- For FTP
ufw allow 21/tcp #--- For FTP
ufw allow 80/tcp #--- For HTTP
ufw allow 443/tcp #--- For HTTPS
ufw allow 8080/tcp #--- For HTTP (Tomcat)
ufw allow 25/tcp #--- For Mail (SMTP)
ufw allow 110/tcp #--- For Mail (POP3)
ufw allow 143/tcp #--- For Mail (IMAP4)
ufw allow 3306/tcp #--- For MySQL
ufw enable
y 를 선택 한다.
ufw status
vsftpd 2.0.7
- vsftp 설치
mkdir ftpdata
apt-get install vsftpd
- vsftp 환경 설정
vi /etc/vsftpd.conf 수정
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
file_open_mode=0644
vi /etc/ftpusers
FTP를 사용할 사용자 아이디를 주석으로 막아 해당 사용자가 FTP를 사용할 수 있도록 한다.
/etc/init.d/vsftpd restart
FileZilla로 FTP 접속시 전송 설정을 "활성"으로 한다.
JDK 1.6.0
- JDK 1.6.0 설치 정보
설치 폴더 : /usr/lib/jvm/java-6-sun
- JDK 1.6.0 설치
apt-get install sun-java6-jdk
java -version
MySQL 5.1.30
- MySQL 설치 정보
설치 폴더 : /usr/share/mysql/
환경 폴더 : /etc/mysql/
작업 폴더 : /var/lib/mysql
- MySQL 설치
apt-get install mysql-server
- MySQL 환경 설정
vi /etc/mysql/my.cnf
[client]
default-character-set=utf8
[mysqld]
character-set-client-handshake=FALSE
init_connect="SET collation_connection=utf8_general_ci"
init_connect="SET NAMES utf8"
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
[mysqldump]
default-character-set=utf8
[mysql]
default-character-set=utf8
Apache HTTP Server 2.2.11
- Apache HTTP Server 설치 정보
설치 폴더 : /usr/share/apache2/
환경 폴더 : /etc/apache2/, /etc/default/apache2
로그 폴더 : /var/log/apache2/
Document Root : /var/www/
- Apache HTTP Server 설치
apt-get install apache2
apt-get install libapache2-mod-auth-mysql
- Apache HTTP Server 환경 설정
vi /etc/apache2/sites-available/default
DocumentRoot /var/www/
<Directory /var/www/>
Options Indexs FollowSymLinks MultiViews
AllowOverride None #--- None을 All로 변경 한다.
echo "Hello World" > /var/www/htmlinfo.html
PHP 5.2.6
- PHP 설치 정보
설치 폴더 : /usr/share/php5/
환경 폴더 : /etc/php5/
- PHP 설치
apt-get install php5
apt-get install php5-gd php5-imap
apt-get install php5-mhash
apt-get install libapache2-mod-php5
apt-get install php5-mysql
apt-get install php5-pgsql
- PHP 환경 설정
vi /etc/php5/apache2/php.ini
date.timezone = Asia/Seoul
[PHP]
default_charset = "UTF-8"
magic_quotes_gpc = Off
output_buffering = 4096
echo '<?php phpinfo(); ?>' > /var/www/phpinfo.php
phpmyadmin 3.1.2
- phpmyadmin 설치 정보
설치 폴더 : /usr/share/phpmyadmin/
환경 폴더 : /etc/phpmyadmin/
작업 폴더 : /var/lib/phpmyadmin/
- phpmyadmin 설치
apt-get install phpmyadmin
a2enmod rewrite
Apache Tomcat 6.0.18
- Apache Tomcat 설치 정보
설치 폴더 : /usr/share/tomcat6/
환경 폴더 : /etc/tomcat6/, /etc/default/tomcat6
작업 폴더 : /var/lib/tomcat6/
로그 폴더 : /var/lib/tomcat6/logs/
캐시 폴더 : /var/cache/tomcat6/
Root 폴더 : /var/lib/tomcat6/webapps/ROOT/
- Apache Tomcat 설치
apt-get install tomcat6
- Apache Tomcat 환경 설정
vi /etc/tomcat6/server.xml
#--- URIEncoding="UTF-8" 추가
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8"
connectionTimeout="20000"
redirectPort="8443" />
#--- 주석을 제거하고 URIEncoding="UTF-8" enableLookups="false" 추가
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" enableLookups="false" />
vi /etc/init.d/tomcat6
#--- 다음 라인을 추가 한다.
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=8859_1 -Dfile.client.encoding=8859_1 -Dclient.encoding.override=8859_1"
#--- 다음 라인 위에
JAVA_OPTS="$JAVA_OPTS -Djava.endorsed.dirs=$CATALINA_HOME/endorsed -Dcatalina.base=$CATALINA_BASE -Dcatalina.home=$CATALINA_HOME -Djava.io.tmpdir=$JVM_TMP"
echo 'Hello World' > /var/lib/tomcat6/webapps/ROOT/jspinfo.jsp
Tomcat Connector 1.2.26
- Tomcat Connector 설치
apt-get install apache2.2-common apache2-utils
apt-get install libapache2-mod-jk
a2enmod jk
- Tomcat Connector 환경 설정
vi /etc/apache2/mods-enabled/jk.conf 생성
###ServerName localhost
JkWorkersFile /etc/apache2/mods-enabled/workers.properties
JkShmFile /var/log/apache2/mod_jk.shm
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
vi /etc/apache2/mods-enabled/jk_mount.conf 생성
###--- Apache Tomcat에서 처리할 URL 패턴을 등록한다.
JkMount /*.jsp worker1
JkMount /servlet/* worker1
### JkUnMount /servlet/*.gif ajp13_worker
vi /etc/apache2/mods-enabled/workers.properties 생성
workers.tomcat_home=/usr/share/tomcat6
workers.java_home=/usr/lib/jvm/java-6-sun
ps=/
worker.list=worker1
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.type=ajp13
worker.worker1.lbfactor=50
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=60
vi /etc/apache2/sites-enabled/000-default
#--- Include ... 추가
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
Include /etc/apache2/mods-enabled/jk_mount.conf
설치 마무리 및 확인
- 서비스 재기동
/etc/init.d/vsftpd restart
/etc/init.d/mysql restart
/etc/init.d/apache2 restart
/etc/init.d/tomcat6 restart
- 서비스 확인
http://localhost/htmlinfo.html 로 HTTP 서비스 확인
http://localhost/phpinfo.php 로 PHP 서비스 확인
http://localhost:8080/jspinfo.jsp 로 Tomcat 서비스 확인
http://localhost/jspinfo.jsp 로 Tomcat Connector 서비스 확인
혹시 잘못되거나 안되는 부분이 있으면 글을 남겨 주세요.*** 참고 문헌 ***
Posted by 산사랑