httpd2 + Mysql + php 설치 (ssl 인증서 포함)
페이지 정보
![profile_image](http://beautipia.co.kr/img/no_profile.gif)
본문
#### httpd2 + Mysql + php 설치 (ssl 인증서 포함) ####
(1) MySQL 설치
기존의 rpm을 제거
모든 설치는 root권한으로 하시면 됩니다.
a. rpm으로 설치된 mysql 제거
rpm -qa | grep mysql 하셔서 기존에 설치된 MySQL을 찾습니다.
rpm -e mysql****** 위에서 찾은 rpm을 제거합니다.
제거할 때 의존되는 것들은
rpm -e mysql****** --nodeps를 사용하여 제거하던지
각각 의존되는 것들을 제거하던지 하시면 됩니다.
b. MySQL 설치
#groupadd mysql : 그룹추가
#useradd -g mysql mysql : 그룹이 mysql인 사용자 mysql추가
#tar xvfz mysql-3.23.41.tar.gz : 압축 및 tar풀기
#cd mysql-3.23.41
#./configure --prefix=/usr/local/mysql --localstatedir=/data/mysqldata --with-charset=euc_kr --without-bench
: 위의 내용은 컴파일하기전 환경을 설정하는 것으로
prefix는 설치할 곳을 /usr/local/mysql로 지정하는 옵션이고
with-charset=euc_kr은 디폴트 언어지원을 한글로 하겠다는 것임 euc_kr
localstatedir 데이타베이스 저장할 디렉토리 지정...
#make : 컴파일
#make install : 제 위치로 컴파일된 파일을 배치
#./bin/mysql_install_db
#cp support-files/my-medium.cnf /etc/my.cnf //conf파일 복사 후 경로들 바른 지 확인 및 옵션들 수정...
-------------- my.cnf sample start ------------------------------
# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 8M
read_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
##### kt-idc 에서 config start #####
max_allowed_packet = 10M
max_connections = 1024
wait_timeout = 300
language = /usr/local/mysql/share/mysql/korean/
log_slow_queries = ON
log-slow-queries = /data/mysqldata
long_query_time = 3
skip-name-resolve
skip-innodb
connect_timeout = 20
max_connect_errors = 2048
##### config end #####
-------------- my.cnf sample end ------------------------------
#chown root -R /usr/local/mysql : 권한 설정
#chown mysql -R /usr/local/mysql/var
#chgrp mysql -R /usr/local/mysql
#./safe_mysqld --user=mysql & : MySQL 구동
c. root 패스워드 변경
#/usr/local/mysql/bin/mysql -u root mysql <Enter>
mysql> update user set password=password('password') where user='root';
Query OK, 2 row affected (0.00 sec)
#/usr/local/mysql/bin/mysqladmin -u root -p reload [Enter]
(2) GD설치
zlib 설치 (http://www.gzip.org)
#tar xvfpz zlib-1.2.3.tar.tar
#cd zlib-1.2.3
#./configure
#make
#make test
#make install
libpng-1.2.5설치 (http://www.libpng.org/)
#tar xvfpv libpng-1.2.5.tar
#cd libpng-1.2.5
#cp ./scripts/makefile.linux ./makefile
#make test
#make install
jpgesrc 설치 (http://www.ijg.org)
#tar xvfpz jpegsrc.v6b.tar
#cd jpeg-6b
#./configure --enable-shared --enable-static
#make
-- libtool 이 없다는 에러시 Makefile 수정 또는 libtool를 현재 폴더로 카피 후 makeclean > make 실행
-- #find / -name libtool (<- libtool 찾기)
#mkdir /usr/local/man/man1
#make install
rpm -qa | grep libjpeg 확인
..libjpeg 와 libjpeg-devel두개가 다 있어야 한다. (PHP설치시 에러가 남)
없을 경우 http://rpmfind.net 에서 찾아서 설치
Freetype Library 설치 (http://download.savannah.gnu.org/releases/freetype/)
#tar xvfz freetype-1.2.tar.gz
#cd freetype-1.2
#./configure
#make
#make install
gd-2.0.28.tar.gz 설치 (http://www.boutell.com/gd/)
#tar xvf gd-2.0.28.tar.gz
#cd gd-2.0.28
#./configure
#make
- /usr/local/lib/libz.a: could not read symbols: Bad value 에러 시
- find / -name libz.a 로 기존파일 백업 후 카피해서 설치. 그래도 안되면 기존 서버에 있는 libz.a 를 사용.
#make install
---------------------------------------------------------------------
## 설치시 라이브러리 에러가 날경우 예전버전의 라이브러리 가져와서 설치했음.
gd-2.0.28 GIF 라이센스 풀림.
이버전과 함께 php 4.3.9 버전을 사용하시면 됩니다
---------------------------------------------------------------------
(3) 아파치, PHP 설치
1) openssl 설치여부 확인
# rpm -qa | grep openssl
openssl-0.9.7a-43.14
xmlsec1-openssl-1.2.6-3
openssl-devel-0.9.7a-43.14
#tar xvzf openssl-0.9.8b.tar.gz
#cd openssl-0.9.8
#./config
#make
#make test
#make install ///usr/local/ssl위치에 설치된다.또는 rpm 설치..
2) httpd 설치
---------------------------------------------------------------------
## MaxClients 관련 소스 수정
A. apahce 1.3
- apache_1.3.x/src/include/httpd.h 의 에서
HARD_SERVER_LIMIT 1280 // 1024로 설정시
B.apache 2.0
i. prefork
- httpd-2.0.36/server/mpm/prefork/prefork.c
DEFAULT_SERVER_LIMIT 1280
ii. worker
- httpd-2.0.36/server/mpm/worker/worker.c
DEFAULT_SERVER_LIMIT 20
---------------------------------------------------------------------
#./configure --prefix=/usr/local/apache --enable-modules=so --enable-mods-shared=all --enable-modules=shared --enable-ssl --with-ssl=/usr --enable-rewrite --with-mpm=worker
#make
#make install
#cd /usr/local/apache/conf
#mkdir ssl.crt
#mkdir ssl.key
#mkdir ssl.csr
#ll
#openssl genrsa -des3 1024 > /usr/local/apache/conf/ssl.key/server.key
#vi ssl.conf
----------------------------------------------------------------------
DocumentRoot "경로
ServerName URL:443
ServerAdmin Email@Email.com
ErrorLog /var/log/httpd/error_log // 로그 받을 경로
TransferLog /var/log/httpd/access_log // 로그 받을 경로
----------------------------------------------------------------------
#openssl req -new -key /usr/local/apache/conf/ssl.key/server.key > /usr/local/apache/conf/ssl.csr/server.csr
______________________________________________________________________
1. Country Name (2 letter code) [XY]:KR
2. State or Province Name (full name) [Snake Desert]:Daegu
3. Locality Name (eg, city) [Snake Town]:Nam-gu
4. Organization Name (eg, company) [Snake Oil, Ltd]:cs team
5. Organizational Unit Name (eg, section) [Certificate Authority]:Name
6. Common Name (eg, CA name) [Snake Oil CA]:도메인
7. Email Address (eg, name@FQDN) [ca@snakeoil.dom]:
8. Certificate Validity (days) [365]:
______________________________________________________________________
#ls -al ssl.csr
#openssl req -x509 -days 3650 -key /usr/local/apache/conf/ssl.key/server.key -in /usr/local/apache/conf/ssl.csr/server.csr > /usr/local/apache/conf/ssl.crt/server.crt
-- 인증서 설정
#cp 기존cert.pem파일(또는 새로 발급받은 파일) /usr/local/apache/conf/ssl.key/cert.pem
#cp 기존key.pem파일(또는 새로 발급받은 파일) /usr/local/apache/conf/ssl.key/key.pem
#vi ssl.conf
-- 하단과 같이 인증파일 지정.
SSLCertificateFile /usr/local/apache/conf/ssl.key/cert.pem
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/key.pem
3) PHP 설치
#cd php-4.4.4
#./configure --prefix=/usr/local/php --with-apache-install=/usr/local/apache --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-language=korean --with-libxml-dir=/usr --disable-debug --with-zend-multibyte --with-regex=php --with-mod_charset --with-iconv --with-dbx --with-gdbm --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --with-zlib --enable-mbstring --enable-mbregex --enable-sigchild --enable-ftp --enable-dba --enable-sockets --enable-saft-mode --enable-inline-optimization --enable-magic-quotes --enable-track-vars --enable-debugger --enable-sysvsem --enable-sysvshm --with-config-file-path=/usr/local/apache/conf --with-gif-dir=/usr/lib --with-mod-charset --with-xml --enable-bcmath
#make
#make install
--- httpd.conf 추가
AddType application/x-httpd-php .html .php3 .php4 .inc .php .ph .htm .phtml .ini
AddType application/x-httpd-php-source .phps
4) Zend 설치
tar xvfpz ZendOptimizer-2.6.2-linux-glibc23-x86_64.tar.gz
cd ZendOptimizer-2.6.2-linux-glibc23-x86_64
./install.sh
------------------
php.ini 설치경로 지정../usr/local/apache/conf
------------------
## php.ini (기존 파일 복사해서 사용 권장.)
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2_6_2/php-4.3.x
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2_6_2/php-4.3.x
zend_optimizer.version=2.6.2
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
- session.auto_start = 1
- allow_url_fopen = Off : 'on'에서 'off'로 수정 <- 이하 웹변조 해킹 방지 관련설정임2005/01/10
- register_globals = On : Off로 설정하는 것이 안전하나 게시판 및 기타 프로그램에 많은 영향.
- display_errors = Off : 에러메시지 안 나타나게 함.
- display_startup_error = Off
- 나머지는 알아서
(4) netpbm 설치(썸네일 관련 함수)
1) rpm -Uvh libtiff-devel-3.6.1-12.x86_64.rpm //rpmrebuild 하기 위하여 설치
2) rpmbuild --rebuild netpbm-10.25-2.x86_64.src.rpm
3) cd /usr/src/redhat/RPMS/x86_64 //상단 rebuild 시 rpm이 생성된 디렉토리...
4) rpm -Uvh netpbm-*
(1) MySQL 설치
기존의 rpm을 제거
모든 설치는 root권한으로 하시면 됩니다.
a. rpm으로 설치된 mysql 제거
rpm -qa | grep mysql 하셔서 기존에 설치된 MySQL을 찾습니다.
rpm -e mysql****** 위에서 찾은 rpm을 제거합니다.
제거할 때 의존되는 것들은
rpm -e mysql****** --nodeps를 사용하여 제거하던지
각각 의존되는 것들을 제거하던지 하시면 됩니다.
b. MySQL 설치
#groupadd mysql : 그룹추가
#useradd -g mysql mysql : 그룹이 mysql인 사용자 mysql추가
#tar xvfz mysql-3.23.41.tar.gz : 압축 및 tar풀기
#cd mysql-3.23.41
#./configure --prefix=/usr/local/mysql --localstatedir=/data/mysqldata --with-charset=euc_kr --without-bench
: 위의 내용은 컴파일하기전 환경을 설정하는 것으로
prefix는 설치할 곳을 /usr/local/mysql로 지정하는 옵션이고
with-charset=euc_kr은 디폴트 언어지원을 한글로 하겠다는 것임 euc_kr
localstatedir 데이타베이스 저장할 디렉토리 지정...
#make : 컴파일
#make install : 제 위치로 컴파일된 파일을 배치
#./bin/mysql_install_db
#cp support-files/my-medium.cnf /etc/my.cnf //conf파일 복사 후 경로들 바른 지 확인 및 옵션들 수정...
-------------- my.cnf sample start ------------------------------
# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 8M
read_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
##### kt-idc 에서 config start #####
max_allowed_packet = 10M
max_connections = 1024
wait_timeout = 300
language = /usr/local/mysql/share/mysql/korean/
log_slow_queries = ON
log-slow-queries = /data/mysqldata
long_query_time = 3
skip-name-resolve
skip-innodb
connect_timeout = 20
max_connect_errors = 2048
##### config end #####
-------------- my.cnf sample end ------------------------------
#chown root -R /usr/local/mysql : 권한 설정
#chown mysql -R /usr/local/mysql/var
#chgrp mysql -R /usr/local/mysql
#./safe_mysqld --user=mysql & : MySQL 구동
c. root 패스워드 변경
#/usr/local/mysql/bin/mysql -u root mysql <Enter>
mysql> update user set password=password('password') where user='root';
Query OK, 2 row affected (0.00 sec)
#/usr/local/mysql/bin/mysqladmin -u root -p reload [Enter]
(2) GD설치
zlib 설치 (http://www.gzip.org)
#tar xvfpz zlib-1.2.3.tar.tar
#cd zlib-1.2.3
#./configure
#make
#make test
#make install
libpng-1.2.5설치 (http://www.libpng.org/)
#tar xvfpv libpng-1.2.5.tar
#cd libpng-1.2.5
#cp ./scripts/makefile.linux ./makefile
#make test
#make install
jpgesrc 설치 (http://www.ijg.org)
#tar xvfpz jpegsrc.v6b.tar
#cd jpeg-6b
#./configure --enable-shared --enable-static
#make
-- libtool 이 없다는 에러시 Makefile 수정 또는 libtool를 현재 폴더로 카피 후 makeclean > make 실행
-- #find / -name libtool (<- libtool 찾기)
#mkdir /usr/local/man/man1
#make install
rpm -qa | grep libjpeg 확인
..libjpeg 와 libjpeg-devel두개가 다 있어야 한다. (PHP설치시 에러가 남)
없을 경우 http://rpmfind.net 에서 찾아서 설치
Freetype Library 설치 (http://download.savannah.gnu.org/releases/freetype/)
#tar xvfz freetype-1.2.tar.gz
#cd freetype-1.2
#./configure
#make
#make install
gd-2.0.28.tar.gz 설치 (http://www.boutell.com/gd/)
#tar xvf gd-2.0.28.tar.gz
#cd gd-2.0.28
#./configure
#make
- /usr/local/lib/libz.a: could not read symbols: Bad value 에러 시
- find / -name libz.a 로 기존파일 백업 후 카피해서 설치. 그래도 안되면 기존 서버에 있는 libz.a 를 사용.
#make install
---------------------------------------------------------------------
## 설치시 라이브러리 에러가 날경우 예전버전의 라이브러리 가져와서 설치했음.
gd-2.0.28 GIF 라이센스 풀림.
이버전과 함께 php 4.3.9 버전을 사용하시면 됩니다
---------------------------------------------------------------------
(3) 아파치, PHP 설치
1) openssl 설치여부 확인
# rpm -qa | grep openssl
openssl-0.9.7a-43.14
xmlsec1-openssl-1.2.6-3
openssl-devel-0.9.7a-43.14
#tar xvzf openssl-0.9.8b.tar.gz
#cd openssl-0.9.8
#./config
#make
#make test
#make install ///usr/local/ssl위치에 설치된다.또는 rpm 설치..
2) httpd 설치
---------------------------------------------------------------------
## MaxClients 관련 소스 수정
A. apahce 1.3
- apache_1.3.x/src/include/httpd.h 의 에서
HARD_SERVER_LIMIT 1280 // 1024로 설정시
B.apache 2.0
i. prefork
- httpd-2.0.36/server/mpm/prefork/prefork.c
DEFAULT_SERVER_LIMIT 1280
ii. worker
- httpd-2.0.36/server/mpm/worker/worker.c
DEFAULT_SERVER_LIMIT 20
---------------------------------------------------------------------
#./configure --prefix=/usr/local/apache --enable-modules=so --enable-mods-shared=all --enable-modules=shared --enable-ssl --with-ssl=/usr --enable-rewrite --with-mpm=worker
#make
#make install
#cd /usr/local/apache/conf
#mkdir ssl.crt
#mkdir ssl.key
#mkdir ssl.csr
#ll
#openssl genrsa -des3 1024 > /usr/local/apache/conf/ssl.key/server.key
#vi ssl.conf
----------------------------------------------------------------------
DocumentRoot "경로
ServerName URL:443
ServerAdmin Email@Email.com
ErrorLog /var/log/httpd/error_log // 로그 받을 경로
TransferLog /var/log/httpd/access_log // 로그 받을 경로
----------------------------------------------------------------------
#openssl req -new -key /usr/local/apache/conf/ssl.key/server.key > /usr/local/apache/conf/ssl.csr/server.csr
______________________________________________________________________
1. Country Name (2 letter code) [XY]:KR
2. State or Province Name (full name) [Snake Desert]:Daegu
3. Locality Name (eg, city) [Snake Town]:Nam-gu
4. Organization Name (eg, company) [Snake Oil, Ltd]:cs team
5. Organizational Unit Name (eg, section) [Certificate Authority]:Name
6. Common Name (eg, CA name) [Snake Oil CA]:도메인
7. Email Address (eg, name@FQDN) [ca@snakeoil.dom]:
8. Certificate Validity (days) [365]:
______________________________________________________________________
#ls -al ssl.csr
#openssl req -x509 -days 3650 -key /usr/local/apache/conf/ssl.key/server.key -in /usr/local/apache/conf/ssl.csr/server.csr > /usr/local/apache/conf/ssl.crt/server.crt
-- 인증서 설정
#cp 기존cert.pem파일(또는 새로 발급받은 파일) /usr/local/apache/conf/ssl.key/cert.pem
#cp 기존key.pem파일(또는 새로 발급받은 파일) /usr/local/apache/conf/ssl.key/key.pem
#vi ssl.conf
-- 하단과 같이 인증파일 지정.
SSLCertificateFile /usr/local/apache/conf/ssl.key/cert.pem
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/key.pem
3) PHP 설치
#cd php-4.4.4
#./configure --prefix=/usr/local/php --with-apache-install=/usr/local/apache --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-language=korean --with-libxml-dir=/usr --disable-debug --with-zend-multibyte --with-regex=php --with-mod_charset --with-iconv --with-dbx --with-gdbm --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --with-zlib --enable-mbstring --enable-mbregex --enable-sigchild --enable-ftp --enable-dba --enable-sockets --enable-saft-mode --enable-inline-optimization --enable-magic-quotes --enable-track-vars --enable-debugger --enable-sysvsem --enable-sysvshm --with-config-file-path=/usr/local/apache/conf --with-gif-dir=/usr/lib --with-mod-charset --with-xml --enable-bcmath
#make
#make install
--- httpd.conf 추가
AddType application/x-httpd-php .html .php3 .php4 .inc .php .ph .htm .phtml .ini
AddType application/x-httpd-php-source .phps
4) Zend 설치
tar xvfpz ZendOptimizer-2.6.2-linux-glibc23-x86_64.tar.gz
cd ZendOptimizer-2.6.2-linux-glibc23-x86_64
./install.sh
------------------
php.ini 설치경로 지정../usr/local/apache/conf
------------------
## php.ini (기존 파일 복사해서 사용 권장.)
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2_6_2/php-4.3.x
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2_6_2/php-4.3.x
zend_optimizer.version=2.6.2
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
- session.auto_start = 1
- allow_url_fopen = Off : 'on'에서 'off'로 수정 <- 이하 웹변조 해킹 방지 관련설정임2005/01/10
- register_globals = On : Off로 설정하는 것이 안전하나 게시판 및 기타 프로그램에 많은 영향.
- display_errors = Off : 에러메시지 안 나타나게 함.
- display_startup_error = Off
- 나머지는 알아서
(4) netpbm 설치(썸네일 관련 함수)
1) rpm -Uvh libtiff-devel-3.6.1-12.x86_64.rpm //rpmrebuild 하기 위하여 설치
2) rpmbuild --rebuild netpbm-10.25-2.x86_64.src.rpm
3) cd /usr/src/redhat/RPMS/x86_64 //상단 rebuild 시 rpm이 생성된 디렉토리...
4) rpm -Uvh netpbm-*
- 이전글apache + Mysql + php 설치 (ssl 인증서 포함) - APM설치하기 21.02.10
- 다음글아파치를 최대성능으로 끌어 올리기 위한 가이드 21.02.10
댓글목록
등록된 댓글이 없습니다.