วันพุธที่ 2 กรกฎาคม พ.ศ. 2557

การติดตั้ง Web Server For FreeBSD

โปรแกรมที่จะติดตั้งมีดังนี้
1. MySQL
เช็คก่อนว่ามีติดตั้งอยู่หรือเปล่า 
#pkg_ingo|grep ^mysql
คำสั่งติดตั้ง MySQL
#cd /usr/ports/databases/mysql51-server 
#make WITH_CHARSET=utf8 WITH_XCHARSET=all install clean

ทำ soft link ไฟล์ /usr/local/bin/mysqldump ไปยัง /usr/bin/mysqldump เพื่อให้บางโปรแกรมเรียกใช้งานตำแหน่งไฟล์ได้ถูกต้อง
# ln -s /usr/local/bin/mysqldump /usr/bin/mysqldump

กำหนดให้ MySQL ทำงานทุกครั้งตอนบูตเครื่อง
#pico /etc/rc.conf
แก้ไขไฟล์ /etc/rc.conf เพิ่มคำสั่งดังนี้
mysql_enable="YES"

สร้างไฟล์กำหนดค่าของ MySQL
# cp /usr/local/share/mysql/my-medium.cnf /usr/local/etc/my.cnf 
หรือถ้าระบบที่ใช้งานหนัก ๆ ใช้คำสั่งนี้

# cp /usr/local/share/mysql/my-large.cnf /usr/local/etc/my.cnf 
เราสามารถกำหนดค่าต่าง ๆ ได้จากไฟล์ /usr/local/etc/my.cnf
กำหนดค่าเริ่มต้น character ให้เพิ่มคำสั่งด้านล่างไว้ในส่วนของ [mysqld]
character-set-server = utf8 
กำหนดให้เคลียร์ log ที่เกินกว่า 99 วันออก (ค่าที่กำหนดได้ 1-99)
expire_logs_days = 99
กำหนดเวลา time out
wait_timeout = 60
เริ่มการทำงาน MySQL
เมื่อสั่งคำสั่งนี้ครั้งแรกโปรแกรมจะสร้างฐานข้อมูลและไฟล์ต่าง ๆ ของโปรแกรมขึ้นมา (จำเป็นต้องทำคำสั่งนี้ก่อนขั้นตอนต่อไปด้านล่าง)
# /usr/local/etc/rc.d/mysql-server start
กำหนดรหัสผ่าน MySQL ของผู้ใช้ root ให้แทนที่คำว่า NEW-PASSWORD ด้วยรหัสผ่านที่กำหนดขึ้นมาเองสำหรับผู้ใช้ root ของ MySQL (ข้อควรระวังให้จำรหัสผ่านให้ดีเพราะต้องใช้สำหรับกำหนดค่าในบทอื่น ๆ )
# /usr/local/bin/mysqladmin -u root -h localhost password 'NEW-PASSWORD'
การทดสอบว่ารหัสผ่านที่กำหนดไว้ถูกต้องหรือเปล่าให้เราลองเข้า shell ของ MySQL ดูโดยใช้คำสั่งดังต่อไปนี้
# mysql -u root -p'MYSQL-PASSWORD'
โปรแกรมจะถามรหัสผ่าน ถ้าเราใส่รหัสผ่านถูกต้องก็จะเข้าสู่ shell ของ MySQL จะแสดงหน้าจอรับคำสั่ง

คำสั่งตรวจสอบว่า mysql ทำงานหรือไม่
# ps -aux | grep mysql

2.Apache
คำสั่งตรวจสอบว่าติดตั้ง Apache แล้วหรือยัง
# pkg_info | grep apache

คำสั่งติดตั้ง Apache
# cd /usr/ports/www/apache22
# make rmconfig-recursive
# make config
# make SUEXEC_DOCROOT=/usr/local install clean

Apache option ตัวเลือกที่ต้องการติดตั้งกำหนดตามการใช้งาน ควรกำหนดตามนี้เพื่อให้รองรับการใช้งานต่าง ๆ ได้คลอบคลุม
ที่เป็นพื้นสีชมพูคือเลือกเพิ่มจากค่าเดิม ตัวเลือกที่สำคัญห้ามลืมคือ SUEXEC และ MYSQL
x THREADS Enable threads support in APR
x MYSQL Enable MySQL support for apr-dbd
x PGSQL Enable PostgreSQL support for apr-dbd
x SQLITE Enable SQLite support for apr-dbd
x SUEXEC Enable mod_suexec

คำสั่งสำหรับตรวจสอบค่าต่าง ๆ ของ Apache ที่ได้ติดตั้งไป
# httpd -V
คำสั่งสำหรับตรวจสอบค่าต่าง ๆ ของ SUEXEC
# suexec -V


แก้ไขไฟล์ /usr/local/etc/apache22/httpd.conf หาบรรทัดต่อไปนี้แล้วกำหนดค่าใหม่ตามด้านล่าง
ServerAdmin azimuthotg@gmail.com
ให้ลบเครื่องหมาย# ข้างหน้าออก 
AddHandler cgi-script .cgi
 ออกจากไฟล์ httpd.conf

กำหนดให้โหลด Accept Filter ในตอนเปิดเครื่อง
#pico /boot/loader.conf    แล้วเพิ่มคำสั่ง
accf_http_load="YES"     บันทึกแล้วออก
ถ้าต้องการโหลด Accept Filter เลยโดยยังไม่ต้องบูตเครื่องใหม่ ใช้คำสั่งดังนี้
# kldload accf_http


กำหนดให้ Apache เริ่มทำงานตอนเปิดเครื่อง

แก้ไขไฟล์ /etc/rc.conf

apache22_enable="YES"

เริ่มการทำงานของ Apache ใช้คำสั่งดังนี้
# /usr/local/etc/rc.d/apache22 start


ตรวจสอบการทำงานของ Apache ใช้คำสั่งดังนี้

# ps -ax | grep httpd


คำสั่งสำหรับตรวจสอบค่าสภาพแวดล้อมของ Apache ใช้คำสั่งดังนี้
# httpd -V

เมื่อเรียกไอพีจากโปรแกรม Browser จะแสดงข้อความว่า It works! แสดงว่า Apache ทำงานแล้ว

3.PHP

คำสั่งทดสอบว่า php รองรับ fastcgi หรือไม่
# /usr/local/bin/php-cgi -v

่ก่อนอื่่นต้องปรับแต่ง Apache22  ใ้ห้รู้จัก PHP5
#pico /usr/local/etc/apache22/httpd.conf

DirectoryIndex index.html     <-- เพิ่ม index.php เข้าไปในบรรทัดนี้

หาบรรทัดข้างล่างนี้
AddType application/x-compress .Z
แล้วเพิ่มบรรทัดข้างล่างเข้าไป
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .html
บันทึกแล้วออก


คัดลอกไฟล์ปรับแต่งค่า PHP
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
แก้ไขไฟล์ /usr/local/etc/php.ini เพื่อความเหมาะสมในการใช้งาน และปิดการทำงานของฟังก์ชั่นบางตัวที่อาจไม่ปลอดภัยต่อระบบ โดยแก้ไขตัวเลือกต่อไปนี้
memory_limit=16M
#register_globals=On
short_open_tag = On
#charset="tis-620"
default_charset="utf-8,tis-620"

user_ini.filename = ".user.ini"
disable_functions = show_source
max_execution_time = 900
post_max_size = 200M
include_path = ".:/usr/local/include/php:/usr/local/share/pear"
extension_dir = "/usr/local/lib/php/20090626"
upload_tmp_dir = "/tmp"
upload_max_filesize = 200M
date.timezone = Asia/Bangkok
session.save_path = "/tmp"
บันทึกแล้วออกจากไฟล์

ทดสอบว่าสามารถใช้งานได้หรือไม่
#pico /usr/local/www/apache22/data/phpinfo.php
แล้วพิมพ์ code ดังนี้
<?php 
phpinfo(); 
?>
บันทึกแล้วรีสตาร์ท
#shutdown -r now


4.PHP-Extension
ยังไม่มีการปรับแต่ง

5.phpMyAdmin
ทำ soft link
#cd /usr/local/www/apache22/data
#ln -s /usr/local/www/phpMyAdmin/ webmysql

ไม่มีความคิดเห็น:

แสดงความคิดเห็น