설치 환경
하드웨어
- CPU : Pentium4 Northwood 2.6Ghz
- M/B : ASUS P4P800
- RAM : DDR 1GB
- HDD : WesternDigital Rapter 36G
- HDD : WesternDigital Rapter 36G
WesternDigital 120G 7200rpm x 2
- NIC : 3COM Gigabit LOM(3C940)
소프트웨어
- FreeBSD 6.2
- FreeBSD 6.2
- MySQL 5.0.41
- Apache 2.2.4
- Php 5.2.3
cvsup 설치 및 업데이트
mysql 설치
mysql50 설치
port시스템을 이용하여 mysql50을 설치합니다.
# cd /usr/ports/databases/mysql50-server/
# make install clean
설치옵션을 주려면
# make WITH_CHARSET=utf8 WITH_COLLATION=utf8_general_ci install clean
port시스템을 이용하여 mysql50을 설치합니다.
# cd /usr/ports/databases/mysql50-server/
# make install clean
설치옵션을 주려면
# make WITH_CHARSET=utf8 WITH_COLLATION=utf8_general_ci install clean
mysql 설정파일 복사
my-large.cnf 나 my-small.cnf 파일을 복사하여도 상관없습니다.
여기서는 my-medium.cnf파일을 복사합니다.
# cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
my-large.cnf 나 my-small.cnf 파일을 복사하여도 상관없습니다.
여기서는 my-medium.cnf파일을 복사합니다.
# cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
기본데이타베이스 설치
# /usr/local/bin/mysql_install_db
# /usr/local/bin/mysql_install_db
mysql 유저 생성해주고 /var/db/mysql/의 소유자를 mysql로
# chown -R mysql /var/db/mysql/
# chown -R mysql /var/db/mysql/
mysql 그룹 생성해주고 /var/db/mysql/의 그룹을 mysql로
# chgrp -R mysql /var/db/mysql/
# chgrp -R mysql /var/db/mysql/
/usr/local/etc/rc.d/mysql-server 파일 수정
# vi /usr/local/etc/rc.d/mysql-server
# vi /usr/local/etc/rc.d/mysql-server
mysql_enable="NO" => mysql_enable="YES"
mysql 서버 실행
# /usr/local/bin/mysqld_safe -user=mysql &
# /usr/local/bin/mysqld_safe -user=mysql &
서버가 실행되고 있는지 확인
# ps ax | grep mysqld
# ps ax | grep mysqld
설치완료 후 path등록
새로설치된 어플리케이션의 위치를 등록하는 명령어인 rehash를 실행합니다.
(csh이 아닐 경우 csh로 변경해서 실행)
# cd /usr/local/bin/;rehash
새로설치된 어플리케이션의 위치를 등록하는 명령어인 rehash를 실행합니다.
(csh이 아닐 경우 csh로 변경해서 실행)
# cd /usr/local/bin/;rehash
anonymous 계정을 막자.
anonymous 계정은 실제로 사용되는 경우가 드물기 때문에 아예 삭제를 하도록 합니다.
anonymous 계정은 실제로 사용되는 경우가 드물기 때문에 아예 삭제를 하도록 합니다.
# mysql -u root
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;
관리자 비밀번호 지정
기본적으로 root계정이 localhost와 url 두개의 계정이 셋팅되어 있습니다.
그런데 보안상 특별한 경우가 아니면 url은 사용안하는것이 좋다고 합니다.
디폴트로 url접속은 막혀있습니다.
그런데 보안상 특별한 경우가 아니면 url은 사용안하는것이 좋다고 합니다.
디폴트로 url접속은 막혀있습니다.
mysql이 실행된 상태에서
mysqladmin으로 root의 암호를 설정해줍니다.
mysqladmin으로 root의 암호를 설정해줍니다.
"비밀번호" 안에 원하는 비밀번호를 입력합니다.
# /usr/local/bin/mysqladmin -u root password "비밀번호"
# /usr/local/bin/mysqladmin -u root -h host_name password '비밀번호'
# /usr/local/bin/mysqladmin -u root -h host_name password '비밀번호'
그런데 2번째 url은 막혀있어서 안될겁니다.
그럴 때는 mysql에 들어가서 패스워드를 설정해주면 됩니다.
그럴 때는 mysql에 들어가서 패스워드를 설정해주면 됩니다.
mysql>SET PASSWORD FOR 'root'@'host_name' = PASSWORD('비밀번호');
시작브로그램으로 등록
mysql_enable="YES" 를 적당한 위치에 삽입합니다.
# vi /etc/rc.conf
mysql_enable="YES" 를 적당한 위치에 삽입합니다.
# vi /etc/rc.conf
참고: 원격접속허용하기: http://www.sqlgate.com/kr/support/connectmysql.html
apache 설치
apache22 설치
port시스템을 이용하여 apache22를 설치합니다.
# cd/usr/ports/www/apache22/
# make install clean
설치완료 후 path등록
새로설치된 어플리케이션의 위치를 등록하는 명령어인 rehash를 실행합니다.
(csh이 아닐 경우 csh로 변경해서 실행)
# rehash
새로설치된 어플리케이션의 위치를 등록하는 명령어인 rehash를 실행합니다.
(csh이 아닐 경우 csh로 변경해서 실행)
# rehash
/usr/local/etc/rc.d/apache22.sh 수정
apache 웹서버 실행
# apachectl start
# apachectl start
웹브라우저에서 설치확인
웹브라우저에 FreeBSD 시스템의 IP 주소 또는 도메인 주소를 입력합니다.
예) http://192.168.0.5/
It works 란 글자가 제대로 보인다면 설치를 성공한 것입니다.
웹브라우저에 FreeBSD 시스템의 IP 주소 또는 도메인 주소를 입력합니다.
예) http://192.168.0.5/
It works 란 글자가 제대로 보인다면 설치를 성공한 것입니다.
시작프로그램으로 등록
apache22_enable="YES" 를 rc.conf파일의 적당한 위치에 삽입합니다.
# vi /etc/rc.conf
apache22_enable="YES" 를 rc.conf파일의 적당한 위치에 삽입합니다.
# vi /etc/rc.conf
php 설치
php5-extentions 설치
port시스템을 이용하여 php5-extentions를 설치합니다.
# cd /usr/ports/lang/php5-extentions/
# make config 입력 후 설치할 내용 체크
# make install clean 입력 후 뜨는 창에서 apache 체크
주의 : apache를 체크하지 않을 경우 제대로 설치되지 않습니다.
port시스템을 이용하여 php5-extentions를 설치합니다.
# cd /usr/ports/lang/php5-extentions/
# make config 입력 후 설치할 내용 체크
# make install clean 입력 후 뜨는 창에서 apache 체크
주의 : apache를 체크하지 않을 경우 제대로 설치되지 않습니다.
php 설정파일 복사
php 설정파일을 동일한 폴더에 복사합니다.
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
php 설정파일을 동일한 폴더에 복사합니다.
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
apache 설정에 Type 추가
이부분이 자동으로 추가가 되지 않기에 httpd.conf 파일에 수동으로 추가해 넣습니다.
이부분이 자동으로 추가가 되지 않기에 httpd.conf 파일에 수동으로 추가해 넣습니다.
# vi /usr/local/etc/apache22/httpd.conf
먼저 httpd.conf 파일안에
LoadModule php5_module libexec/apache22/libphp5.so
이 부분이 있는 지 확인을 하고 있으면
4번으로 바로 넘어가시고
4번으로 바로 넘어가시고
없을 경우에는
# ls -al /usr/local/libexec/apache22/
로 libphp5.so 파일이 있는 지 확인을 하고 없을 경우
# cd /usr/ports/lang/php5
# make config
# make config
포트의 php5 디렉토리로 이동후
make config 옵션에 가서 apache module 옵션을 선택하고
php5를 재설치 해줍니다.
make config 옵션에 가서 apache module 옵션을 선택하고
php5를 재설치 해줍니다.
# make deinstall; make reinstall
mime_module에 스크립트 추가
httpd.conf 파일을 열어 <IfModule mime_module> 부분에 다음을 추가합니다.
httpd.conf 파일을 열어 <IfModule mime_module> 부분에 다음을 추가합니다.
AddType application/x-httpd-php .php .inc .h .phtml
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php-source .phps
apache 재시작
apache 웹서버를 재시작해야 설정이 변경됩니다.
# apachectl configtest
# apachectl restart
이래도 안뜨면 리붓 함 해보세요...뜰겁니다...^^
php 스크립트 작성
php 가 동작하는지 확인하기 위해 스크립트를 작성합니다.
# cd /usr/local/www/apache22/data
# vi phpinfo.php
phpinfo.php 파일안에 다음 내용을 삽입한 후 저장합니다.
<?
phpinfo();
?>
<?
phpinfo();
?>
Apache 기본 언어 UTF-8 로 잡기
httpd.conf 또는 httpd-languages.conf 부분의 Language 부분의 내용중에
httpd.conf 또는 httpd-languages.conf 부분의 Language 부분의 내용중에
AddDefaultCharset UTF-8
LanguagePriority utf8 kr en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
AddCharset UTF-8 .utf8
부분을 셋팅해 준다.
php 기본 언어 UTF-8 으로 잡기
/usr/local/etc/php.ini 파일을 열어 캐릭터 셋을
default_charset = "utf-8"
으로 설정해준다.

댓글목록
윤진한님의 댓글
ZendOptimizer를 사용 하기 위해 추가로 설치 해주어야 한다.
/usr/ports/devel/ZendOptimizer 를 추가로 설치 해야 한다.
설치 후에 /usr/local/etc/php.ini에 다음 내용을 추가 한다.
[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer="/usr/local/lib/php/20020429/Optimizer"
zend_extension_manager.optimizer_ts="/usr/local/lib/php/20020429/Optimizer_TS"
zend_extension="/usr/local/lib/php/20020429/ZendExtensionManager.so"
zend_extension_ts="/usr/local/lib/php/20020429/ZendExtensionManager_TS.so"
ZendOptimizer설치후 위 메시지는 화면에 뿌려 준다.