วันพฤหัสบดีที่ 26 เมษายน พ.ศ. 2555

การติดตั้ง Apache, PHP, MySQL และ phpMyAdmin บน Ubuntu :)


การติดตั้ง Apache
1. เปิด Terminal จาก Applications/Utilities/Terminal จากนั้นให้พิมพ์คำสั่งนี้
sudo apt-get install apache2
2. หากใน Terminal เห็นข้อความว่า apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName สามารถแก้ไขได้โดยใช้พิมพ์คำสั่งนี้
gksu gedit /etc/apache2/conf.d/fqdn

เมื่อเปิดเสร็จแล้ว ให้พิมพ์ ServerName localhost ลงไปในไฟล์และบันทึก จากนั้นก็ปิดไฟล์
3. เมื่อติดตั้งเสร็จแล้ว ทดสอบโดยใฃ้เบราว์เซอร์ และเปิด http://localhost หากใช้งานได้จะพบข้อความว่า It works!

การติดตั้ง PHP5
1. พิมพ์คำสั่ง
sudo apt-get install php5 libapache2-mod-php5
2. เมื่อลง PHP5 เสร็จแล้วจำเป็นต้องเริ่มการทำงานของ Apache อีกครั้ง ด้วยการใช้คำสั่ง
sudo /etc/init.d/apache2 restart
3. ทดสอบการใช้งาน PHP โดยพิมพ์คำสั่ง
sudo gedit /var/www/info.php

เมื่อไฟล์ถูกเปิดขึ้นมาแล้ว ให้พิมพ์โค้ด PHP ดังนี้
<?php
phpinfo
();?>

จากนั้นให้บันทึกไฟล์และปิดไฟล์นี้
4. ทดสอบโดยใฃ้เบราว์เซอร์ และเปิด http://localhost/info.php หากใช้งานได้จะผลดังนี้
Display PHP Info

การติดตั้ง MySQL
1. พิมพ์คำสั่ง
sudo apt-get install mysql-server
2. เมื่อเห็นภาพดังด้านล่างนี้ ให้กรอกรหัสผ่านสำหรับผู้ใช้ root ฃอง MySQL
Configuring mysql-server-5.0
3. หลังจากติดตั้งเสร็จ จะต้องให้ PHP ทำงานร่วมกับ MySQL ได้โดยเปิดไฟล์ php.ini ด้วยคำสั่งนี้
gksudo gedit /etc/php5/apache2/php.ini

จากนั้นแก้ไขบรรทัดที่มี ;extension=msql.so ให้เป็น extension=mysql.so ต่อไปก็เริ่มการทำงาน Apache อีกครั้งด้วยคำสั่ง
sudo /etc/init.d/apache2 restart



การติดตั้ง phpMyAdmin
1. พิมพ์คำสั่ง
sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
2. เมื่อเห็นภาพดังด้านล่างนี้ ให้เลือก Apache2
Configuring phpmyadmin
3. เมื่อติดตั้งเสร็จแล้ว ให้ทดสอบโดยใฃ้เบราว์เซอร์ และเปิด http://localhost/phpmyadmin จะได้ผลดังนี้
อย่าลืมเพิ่มคำสั่งนี้ด้วยครับ
sudo ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin


ปรับแต่ง Apache2 บน Ubuntu ; )




    1. หากต้องการเปลี่ยนหรือเพิ่ม port  ให้แก้ไขแฟ้ม /etc/apache2/ports.conf เป็นประมาณตัวอย่างว่า
      Listen 80
      Listen 8010
    2. การสร้าง virtual host ให้แก้ไขแฟ้ม /etc/apache2/sites-available/default เป็นประมาณว่า
      <VirtualHost *:80>
      DocumentRoot /var/www/
      ServerName origin.hostname.domain
      </VirtualHost>
      *** ข้างบนนี้ต้องมีเพื่อให้คงชื่อ web host ของเดิมไว้

      <VirtualHost *:80>
      DocumentRoot /var/www/newfile
      ServerName new.name.domain
      </VirtualHost>
      *** เพิ่มชื่อ web host ใหม่เข้าไป

      <VirtualHost *:80>
      ServerName www.mydomain.com
      Redirect / http://new.domain.com/
      </VirtualHost>
      *** ทำการ redirect ต่อไปให้เวบอื่น

      ต้องแก้ไขแฟ้ม /etc/apache2/sites-available/default
      ให้ส่วนของ <Directory /var/www/> บริวเณประมาณบรรทัดที่ 14
      ต้องอนุญาติให้ AllowOverride All ดังตัวอย่าง
      <Directory /var/www/>
               Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
       </Directory>

      เสร็จแล้วก็สั่ง apache ทำงานใหม่ ด้วยคำสั่ง sudo /etc/init.d/apache2 force-reload
    3. การสร้าง virtual host ที่เป็น https ทำดังนี้
      สั่งเปิด ssl ด้วยคำสั่ง sudo a2enmod ssl
      ดาวน์โหลดแฟ้มจาก ftp://ftp.psu.ac.th/pub/apache/apache2-ssl.tar.gz
      ด้วยคำสั่ง wget ftp://ftp.psu.ac.th/pub/apache/apache2-ssl.tar.gz
      แล้วแตกแฟ้มออกมาด้วยคำสั่ง  tar -zxvf apache2-ssl.tar.gz -C /tmp
      คัดลอกแฟ้มไปยังตำแหน่งที่ถูกต้องด้วยคำสั่ง
      sudo mv /tmp/ssleay.cnf /usr/share/apache2
      sudo mv /tmp/apache2-ssl-certificate /usr/sbin
      sudo mkdir -p  /etc/apache2/ssl

      สร้าง certification ด้วยคำสั่ง sudo apache2-ssl-certificate
      ระบบจะมีข้อความออกให้โต้ตอบ ก็ให้กดแป้น Enter อย่างเดียวจนเสร็จ

      แก้ไขแฟ้ม /etc/apache2/sites-available/default
      เพิ่มบรรทัดว่า NameVirtualHost *:443 เข้าไป
      ถัดต่อจากบรรทัดเดิมที่ว่า NameVirtualHost *:80
      แล้วสร้างเพิ่ม tag ทำนองเดียวกับ <VirtualHost *:80>
      แต่เปลี่ยนจากเลข 80 เป็นเลข 443 และเพิ่ม SSL ประมาณว่า
      <VirtualHost *:443>
       ......
      SSLEngine on
      SSLCertificateFile /etc/apache2/ssl/apache.pem
      </VirtualHost>
      เสร็จแล้วก็ให้ restart apache ใหม่ด้วยคำสั่ง  sudo /etc/init.d/apache2 force-reload
    4. การทำให้ www server ไม่แสดงผลรายการชื่อแฟ้มใน directory
      ให้แก้ไขแฟ้ม /etc/apache2/sites-available/default
      ประมาณบรรที่ 14 ให้ลบคำว่า Indexes ออกจากส่วนของ
      <Directory "/var/www/l">
      ....
      </Directory>
      จากตัวอย่างข้อความเดิมคือ Options Indexes FollowSymLinks
      แก้ไขใหม่เป็น    Options FollowSymLinks

      แล้วสั่งให้ apache ทำงานใหม่ด้วยคำสั่ง  sudo /etc/init.d/apache2 force-reload
      /etc/apache2/httpd.conf
    5. หากต้องการบริการจำนวน client มากกว่าเดิม  กลายเป็น 500 connection
      ต้องตรวจสอบว่า apache มีการจัดการ process แบบใด ให้ใช้คำสั่ง  apache2 -l
      ถ้ามีข้อความคำตอบ prefork.c แสดงว่าจัดการ process แบบ MPM prefork
      ถ้ามีข้อความคำตอบ worker.c แสดงว่าจัดการ process แบบ MPM worker
      ให้แก้ไขที่แฟ้ม  /etc/apache2/apache2.conf ที่ประมาณข้อความว่า

      หากเป็นแบบ MPM prefork ให้แก้ไขดังนี้ ที่ประมาณข้อความว่า
      <IfModule mpm_prefork_module>
          StartServers          5
          MinSpareServers       5
          MaxSpareServers      10
          MaxClients          150
          MaxRequestsPerChild   0
      </IfModule>/etc/apache2/httpd.conf
      ให้แก้ใขค่า MaxClients และเพิ่มค่า ServerLimit  เป็น 500 ดังตัวอย่าง
      <IfModule mpm_prefork_module>
          StartServers          5
          MinSpareServers       5
          MaxSpareServers      10
          ServerLimit         500
          MaxClients          500
          MaxRequestsPerChild   0
      </IfModule>

      หากเป็นแบบ MPM worker ที่ประมาณข้อความว่า
      <IfModule mpm_worker_module>/etc/apache2/httpd.conf
          StartServers          2
          MinSpareThreads      25
          MaxSpareThreads      75
          ThreadLimit          64
          ThreadsPerChild      25
          MaxClients          150
          MaxRequestsPerChild   0
      </IfModule>
      ให้ แก้ใขค่า MaxClients เป็น 500 และเพิ่มค่า ServerLimit  เป็น 20
      หมายเหตุ. MaxClients = ServerLimit x ThreadsPerChild ดังตัวอย่าง
      <IfModule mpm_worker_module>
          StartServers          2
          MinSpareThreads      25
          MaxSpareThreads      75
          ThreadLimit          64
          ThreadsPerChild      25
          ServerLimit 20/etc/apache2/httpd.conf
          MaxClients          500
      #    MaxClients          150
          MaxRequestsPerChild   0
      </IfModule>

      เสร็จแล้วสั่งให้ระบบทำงานใหม่ด้วยคำสั่ง  sudo /etc/init.d/apache2 force-reload
    6. ตั้งค่าให้เวบแสดงผลภาษาไทยแบบ utf-8 โดยอัตโนมัติ
      ให้แก้ไขแฟ้ม /etc/apache2/conf.d/charset
      ตั้งค่าตัวแปรเป็นว่า AddDefaultCharset UTF-8
      เสร็จแล้วสั่งให้ระบบทำงานใหม่ด้วยคำสั่ง  sudo /etc/init.d/apache2 force-reload
  • อ่านทั้งหมด http://opensource.cc.psu.ac.th/%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87_apache_%E0%B8%9A%E0%B8%99_ubuntu
  • วันพุธที่ 25 เมษายน พ.ศ. 2555

    Dump .SQL file

     ให้ไปที่ Path ของไฟ masterdump.sql แล้ว Dump ได้เลย
    #  mysql -u root -p < masterdump.sql

    วันศุกร์ที่ 6 เมษายน พ.ศ. 2555