Topic List
เดี๋ยวค่อยมาเขียนรายละเอียด
Install Apache
Location of Apache config file is /opt/homebrew/etc/httpd/httpd.conf Change www home folder
mv /opt/homebrew/var/www /opt/homebrew/var/www.bak ln -s /Users/httpdocs /opt/homebrew/var/www brew services restart apache2
brew tap shivammathur/php
เลือกมาสักเวอร์ชั่น
brew install shivammathur/php/php@5.6 brew install shivammathur/php/php@7.0 brew install shivammathur/php/php@7.1 brew install shivammathur/php/php@7.2 brew install shivammathur/php/php@7.3 brew install shivammathur/php/php@7.4 brew install shivammathur/php/php@8.0 brew install shivammathur/php/php@8.1 brew install shivammathur/php/php@8.2
Mac M1 : Config file อยู่ที่
/opt/homebrew/etc/php/7.0/php.ini /opt/homebrew/etc/php/7.1/php.ini /opt/homebrew/etc/php/7.2/php.ini /opt/homebrew/etc/php/7.3/php.ini /opt/homebrew/etc/php/7.4/php.ini /opt/homebrew/etc/php/8.0/php.ini /opt/homebrew/etc/php/8.1/php.ini /opt/homebrew/etc/php/8.2/php.ini
Mac Intel : Config file อยู่ที่
/usr/local/etc/php/5.6/php.ini /usr/local/etc/php/7.0/php.ini /usr/local/etc/php/7.1/php.ini /usr/local/etc/php/7.2/php.ini /usr/local/etc/php/7.3/php.ini /usr/local/etc/php/7.4/php.ini /usr/local/etc/php/8.0/php.ini
ผลลัพท์ตอนติดตั้ง
To enable PHP in Apache add the following to httpd.conf and restart Apache: LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so<FilesMatch .php$> SetHandler application/x-httpd-php </FilesMatch>
Finally, check DirectoryIndex includes index.php DirectoryIndex index.php index.html
The php.ini and php-fpm.ini file can be found in: /usr/local/etc/php/7.4/
php@7.4 is keg-only, which means it was not symlinked into /usr/local, because this is an alternate version of another formula.
If you need to have php@7.4 first in your PATH, run: echo 'export PATH="/usr/local/opt/php@7.4/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc
For compilers to find php@7.4 you may need to set: export LDFLAGS="-L/usr/local/opt/php@7.4/lib" export CPPFLAGS="-I/usr/local/opt/php@7.4/include"<br /> <br /> <br /> To start shivammathur/php/php@7.4: brew services start shivammathur/php/php@7.4 Or, if you don't want/need a background service you can just run: /usr/local/opt/php@7.4/sbin/php-fpm --nodaemonize
เปลี่ยนลิงก์
brew unlink php && brew link --overwrite --force php@7.4
Apache
แก้ไขไฟล์ /opt/homebrew/etc/httpd/httpd.conf /etc/apache2/httpd.conf หรือ /usr/local/etc/httpd/httpd.conf file scroll to the bottom of the LoadModule entries.
LoadModule php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so <a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php7_module /usr/local/opt/php@7.0/lib/httpd/modules/libphp7.so <a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so <a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so <a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so <a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so <a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so <a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php_module /usr/local/opt/php@8.1/lib/httpd/modules/libphp.so
ใช้ sphp เป็นตัวเปลี่ยน version จะสะดวกกว่า
curl -L https://gist.githubusercontent.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/raw/adc8c149876bff14a33e3ac351588fdbe8172c07/sphp.sh > /opt/homebrew/bin/sphp chmod +x /opt/homebrew/bin/sphp
sphp 8.1
Install MariaDB
brew install mariadb
Restart MariaDB
Auto start
brew services start mariadb
Manual start
mysql.server restart
Location of database is /opt/homebrew/var/mysql, If you want to change use symbolic link to new location
brew services stop mariadb cp -R /opt/homebrew/var/mysql /Users/mysql mv /opt/homebrew/var/mysql /opt/homebrew/var/mysql.bak mkdir /opt/homebrew/var/mysql ln -s /Users/mysql /opt/homebrew/var/mysql brew services start mariadb
MariaDB Configuration
แก้ไขไฟล์ /opt/homebrew/etc/my.cnf.d/my.cnf
[mysqld] sqlmode="NOFIELDOPTIONS" # Avaliable Mode<br /> # "NOFIELDOPTIONS,IGORESPACE,NOZEROINDATE,NOZERODATE,ERRORFORDIVISIONBYZERO,NOAUTOCREATEUSER,NOENGINESUBSTITUTION" default-storage-engine = MYISAM character-set-server = utf8 <a class="hashtag" href="/tags/collation">#collation</a>-server = utf32unicodeci
หากไม่ต้องการให้ตรวจสอบการบันทึกข้อมูลของฟิลด์ เช่น ข้อมูลยาวเกินกว่าที่กำหนดในฟิลด์ ให้กำหนด mode เป็น NOFIELDOPTIONS
ที่มา
รอก่อนนะ ค่อยกลับมาทยอยเขียน
Edit Apache config
sudo nano /etc/apache2/httpd.conf
ServerName my.local.:80 <Directory "/"> AllowOverride All Require all denied </Directory> <Directory "/Library/WebServer/Documents"> AllowOverride All </Directory>
Restart Apache
sudo apachectl restart sudo apachectl -k graceful
Edit MariaDB config
nano ~/.my.cnf
Restart MariaDB
Auto start
brew services start mariadb
Manual start
mysql.server restart
Configuration
PHP Config
nano /usr/local/etc/php/8.0/php.ini
... post_max_size = 1024M upload_max_filesize = 1024M ...
ที่มา
Apache Tuning from How To Optimize Apache
Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 MinSpareServers 5 MaxSpareServers 10 StartServers 5 MaxClients 150 MaxRequestsPerChild 0
Create new user how
sudo adduser userName
Make user sudo how
sudo adduser userName sudo
MySQL Configuration
- Increrase memory size for MySQL Server using nano /etc/my.cnf and add/change value ตามรายละเอียด
innodbbufferpoolsize = 2048M innodblogfilesize = 512M maxconnections = 500 keybuffer_size = 512M
PHP Config
Set timezone to Asia/Bangkok
nano /etc/php/7.4/apache2/php.ini
date.timezone = Asia/Bangkok
Add CNAME domain.com to ppi.psu.ac.th
Add new site to Apache
cd /etc/apache2/sites-available nano sites-available/doname.com.conf
<VirtualHost *:80> ServerName domain.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html/domain.com </VirtualHost> <VirtualHost *:80> ServerName www.domain.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html/domain.com </VirtualHost> <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerName domain.com ServerAdmin webmaster@localhost DocumentRoot /home/user/domains/domain.com </VirtualHost> <VirtualHost _default_:443> ServerName www.domain.com ServerAdmin webmaster@localhost DocumentRoot /home/user/domains/domain.com </VirtualHost> </IfModule>
cd /etc/apache2/sites-enabled ln -s ../sites-available/domain.com.conf domain.com.conf
Restart Apache
systemctl restart apache2
Restart MySql
systemctl restart mysql
INSTALL Let's Encrypt
1. ติดตั้งด้วย snap ดูรายละเอียดได้ที่ Certbot instructions
snap install --classic certbot ln -s /snap/bin/certbot /usr/bin/certbot certbot --apache certbot certonly --apache certbot renew --dry-run
2. ติดตั้งด้วย apt-get จาก repo
apt-add-repository -r ppa:certbot/certbot
After that, the following commands do not generate any errors:
apt update apt-get update apt install python3-certbot-apache
certbot --apache -d domain.com -d www.domain.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=domain.com
IMPORTANT NOTES:
Congratulations! Your certificate and chain have been saved at:
- /etc/letsencrypt/live/domain.com/fullchain.pem
- Your key file has been saved at:
- /etc/letsencrypt/live/domain.com/privkey.pem
- Your cert will expire on 2021-01-08. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew all of your certificates, run "certbot renew"
To test the renewal process, you can do a dry run with certbot:
sudo certbot renew --dry-run
Correct way to completely remove issued certificate(s) for a domain
certbot delete --cert-name domain.com
Copy file from another server using SSH
Alternatively, you could mount the myserver's filesystem over SSH with sshfs. This may be too much hassle for a one-off need, but convenient if you do this sort of thing often.
mkdir myserver sshfs -p 22 domain.com:/path/ myserver wget -O ~/myserver/path/to/remote/destination http://www.example.com/whatever rsync -trv myserver/src/path/ dest/path/ umount myserver
rsync in background
nohup rsync -trv myserver/src/path/ dest/path/ &
Dump Database
mysqldump -u [username] -p [database-you-want-to-dump] > [path-to-place-data-dump.sql] /usr/local/mysql/bin/mysqldump -u [username] -p [database-you-want-to-dump] > [path-to-place-data-dump.sql]
Ways to Flush DNS Cache on Mac OSx
sudo killall -HUP mDNSResponder
WhoIs LookUp
nslookup -type=ns softganz.com
Setup Time Sync
ติดตั้ง
apt-get install ntp
แก้ไข config
nano /etc/ntp.conf
เปลี่ยน server เป็น
server 1.th.pool.ntp.org server 0.asia.pool.ntp.org server 2.asia.pool.ntp.org server clock.nectec.or.th
Restart
service ntpd restart
หรือ
service ntp restart
ที่มา
- Certbot instructions
- How To Secure Apache with Let's Encrypt on Ubuntu 18.04
- E: The repository 'http://ppa.launchpad.net/certbot/certbot/ubuntu focal Release' does not have a Release file
- How To Use SSHFS to Mount Remote File Systems Over SSH
- How to wget a file to a remote machine over SSH?
- Correct way to completely remove issued certificate(s) for a domain
- How to increase memory size for MySQL Server
- MySQL Performance Tuning Settings
- HOWTO: Sync เวลาไม่ควรใช้ ntpdate ควรใช้ ntpd แทน
ต้องการตรวจสอบว่า url ที่เรียกเข้ามานั้น หากอักษรตัวหน้าเท่ากับคำบางคำ ก็ให้เรียกไปที่ url บางตัว หากไม่ใช่ ก็ให้เรียกไปอีกแห่งหนึ่ง
# /garage/xxx or /saveup/xxx or /js/xxx = > /folder1/index.php RewriteCond %{REQUEST_URI} ^/(garage|saveup|js/).* [NC] RewriteRule ^(.*)$ /folder1/index.php? [L,QSA] # /library/xxx = > /library/xxx RewriteCond %{REQUEST_URI} ^/(library)/.* [NC] RewriteRule ^(.*)$ $1 [L,QSA]
หาอ่านข้อมูลเกี่ยวกับ .htaccess ที่ Apache Module mod_rewrite
โดยเฉพาะที่นี่ มีตัวอย่างให้ดูเพียบ THE Ultimate Htaccess
แก้ config ของ Apache
sudo nano /etc/apache2/httpd.conf
AllowOverride All
เปิดใช้งาน mod_rewrite
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
Install PHP
brew update brew install php@7.3 brew link php@7.3 brew services start php@7.3
เปิดใช้งาน php
LoadModule php7_module libexec/apache2/libphp7.so
เปลี่ยน DocumentRoot ของ web
sudo mv /Library/WebServer/Documents /Library/WebServer/Documents.old sudo ln -s /New/Web/Folder /Library/WebServer/Documents
แก้ php config โดย cp /etc/php.ini.default /etc/php.ini
post_max_size = 16M upload_max_filesize = 1024M date.timezone = Asia/Bangkok
Restart Apache
sudo apachectl configtest sudo apachectl -k restart
ที่มา macOS 10.15 Catalina Apache Setup: SSL
Install MariaDB
brew install mariadb
Start MariaDB
Service start
brew services start mariadb
Start without service
mysql.server start
Link data to new location
sudo ln -s /Users/mysql /usr/local/var/mysql sudo chown -h user:group /usr/local/var/mysql
แก้ไข config file ~/.my.cnf
sql_mode = NO _ ENGINE _ SUBSTITUTION,STRICT _ TRANS _ TABLES default-storage-engine = MYISAM collation-server = utf8_unicode_ci character-set-server = utf8
Auto Start
launchd In MacOS, create a file called /Library/LaunchDaemons/com.mariadb.server.plist with the following contents (edit to suit):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.mariadb.server</string> <key>KeepAlive</key><true/> <key>RunAtLoad</key><true/> <key>LaunchOnlyOnce</key><false/> <key>ExitTimeOut</key><integer>600</integer> <key>WorkingDirectory</key><string>/usr/local/var</string> <key>Program</key><string>/usr/local/bin/mysqld</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/mysqld</string> <string>--user=_mysql</string> <string>--basedir=/usr/local/opt/mariadb</string> <string>--plugin-dir=/usr/local/opt/mariadb/lib/plugin</string> <string>--datadir=/usr/local/var/mysql</string> <string>--log-error=/usr/local/var/mysql/Data-Server.local.err</string> <string>--pid-file=/usr/local/var/mysql/Data-Server.local.pid</string> <string>--sql-mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION</string> </array> </dict> </plist>
Then from a shell, run launchctl load /Library/LaunchDaemons/com.mariadb.server.plist and MariaDB will run immediately, and also upon reboot.
Fix the 2002 socket error first if you haven’t done so from the MySQL section-
sudo mkdir /var/mysql
Location -> /usr/local/Cellar/mariadb/{version}
Data location /usr/local/var/mysql/
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Start MySQL
sudo /usr/local/mysql/support-files/mysql.server start
Stop MySQL
sudo /usr/local/mysql/support-files/mysql.server stop
Restart MySQL
sudo /usr/local/mysql/support-files/mysql.server restart
ติดตั้ง Ubuntu Desktop ให้เป็น Server (LAMP)
ผ่านไป 2 ปี ก็ถึงเวลาต้องติดตั้ง Ubuntu ใหม่เสียที คราวนี้เลยถือโอกาสเปลี่ยนเป็น Ubuntu 11.04 64 bit ไปเลย ก็เลยลองมารีวิวการติดตั้ง LAMP บน Ubuntu ใหม่ว่ามีอะไรที่เปลี่ยนแปลงไปบ้าง
หมายเหตุ : การติดตั้งต่อไปนี้ใช้สิทธิ์ของ root ขอให้เข้าสู่สิทธิ์ของ root โดยการเปิด terminal แล้วพิมพ์ sudo su
Install L.A.M.P Stack (Apache, Mysql, PHP) ทีเดียวซะเลย
root@god:/# apt-get install lamp-server^
แล้วก็ลง phpMyAdmin
root@god:/# apt-get install phpmyadmin
เลือก Apache แล้ว YES สำหรับ dbconfig-common.
ติดตั้งเพิ่มเติม
php5-curl
root@god# apt-get install php5-curl
หรือชอบที่จะลงทีละตัว ก็
Install Apache
root@god:/# apt-get install apache2
Enable mod_rewrite
root@god:/# a2enmod rewrite
เปลี่ยน DocumentRoot ของ apache เป็น folder อื่น และเปิดใช้งาน clean url
root@god:/# nano /etc/apache2/sites-available/default
- เปลี่ยนบรรทัด /var/www/ เป็น /my web folder/ จำนวน 2 ตำแหน่ง
- แก้ค่า AllowOverride ของ /my web folder/ จาก None เป็น AllowOverride All
Install PHP
root@god:/# apt-get install php5 libapache2-mod-php5 php5-gd root@god:/# /etc/init.d/apache2 restart
Install MySQL
root@god:/# apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin root@god:/# /etc/init.d/apache2 restart
หากมีข้อมูลเก่าของ mysql ก็สามารถ copy มาไว้ที่ /var/lib/mysql แล้ว โดยใช้คำสั่ง
root@god:/# cp /media/disk/var/lib/mysql/* /var/lib/mysql/ root@god:/# chown -hR mysql /var/lib/mysql/* root@god:/# chgrp -hR mysql /var/lib/mysql/*
ย้ายข้อมูล mysql ไปไว้ที่อื่น
root@god:/# /etc/init.d/mysql stop root@god:/# mkdir /home/mysql root@god:/# chown -R mysql:mysql /home/mysql root@god:/# cp -r /var/lib/mysql/mysql /home/mysql/ root@god:/# chown -R mysql:mysql /home/mysql/*
แล้วแก้ my.cnf
root@god:/# nano /etc/mysql/my.cnf
หาคำนี้ให้เจอ :
datadir = /var/lib/mysql
แล้วเปลี่ยนเป็นตำแหน่งใหม่ :
datadir = /home/mysql
เสร็จแล้วก็ restart mysql service
root@god:/# /etc/init.d/mysql start Starting MySQL database server mysqld [ OK ]
แล้ว mysql จะทำการสร้างไฟล์ ibdata1, ib_logfile0, อื่น ๆ ขึ้นมาใหม่
ทุกอย่างน่าจะเรียบร้อย แต่ผมไม่สามารถ start mysql ได้ มันค้างอยู่ เลยต้องไปแก้ค่าในไฟล์ /etc/apparmor.d/usr.sbin.mysqld โดยเปลี่ยนค่า /var/lib/mysql ให้เป็น /home/mysql ด้วย
แล้วคราวนี้ก็ทำการ copy ฐานข้อมูลเก่า ๆ มาได้เลย อย่าลืมเปลี่ยน owner/group เป็น mysql ด้วยนะ
ที่มา
- Installing LAMP On Ubuntu For Newbies
- How to move mysql database to another drive or partition
- howtoforge.com
#sudo apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
<a class="hashtag" href="/tags/sudo">#sudo</a> apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
KeepAlive = เมื่อเสร็จ request แล้วยังไม่ต้องปิด connection ให้รอดูว่าจะมี request เข้ามาอีกรึเปล่า ถ้ามีก็ใช้ connection นี้ต่อไปเลย มีประโยชน์สำหรับเว็บที่มี request เยอะๆใน 1 หน้าเว็บ – รูปภาพ 1 รูปนับเป็น 1 request – 1 frame นับเพิ่มอีก 1 request (รูปใน frame นับเพิ่มต่างหากอีก) ดังนั้นเว็บที่มีพวกนี้เยอะๆควรเปิด keepalive ไว้ เพื่อลดจำนวน connection ที่เข้ามา
กำลังศึกษาการเขียน Apache rewrite rule จะทำ subdomain redirect ไปสู่โปรแกรม
เช่น http://bear.softganz.com ไป http://www.softganz.com/index.php?u=bear
เขียนยากจริง ๆ พยายามทำความเข้าใจอยู่ หากพอจะเข้าใจ จะมาเขียนอธิบายรายละเอียดอีกที
แหล่งเรียนรู้
dir ที่สามารถ upload file ได้ให้ทำการป้องกันไม่ให้ php perl ทำงานได้ เพราะว่าถ้าเกิดหลุดขึ้นมา จะอันตรายมาก ๆ วิธีการป้องกันก็คือ ไปกำหนดเพิ่ม ใน httpd.conf ดังต่อไปนี้ สมมติว่า /home/webmaster/public_html/webboard/file เป็นส่วนที่ใช้เก็บรูปของบอร์ดเวลา post ขึ้นไป ผมก็จะกำหนดเพิ่มดังนี้
<Directory "/home/webmaster/public_html/webboard/file"> Options Indexes MultiViews -ExecCGI AllowOverride None Order allow,deny Allow from all php_flag engine off </Directory>
เท่านี้ก็ปลอดภัยอีกระดับนึงครับ ถ้าเกิด script เราหลุด hacker สามารถ upload file ขึ้นไปได้ แต่เค้าก็จะไม่สามารถสั่งให้ทำงานได้ครับ ..
หลังจากที่ตัดสินใจปรับ CMS ที่เขียนอยู่ไปวิ่งบน PHP5 ก็ไม่นึกว่าจะต้องกลับมาทดสอบ CMS กับ PHP4+MySql3 อีกแล้ว แต่หลังจากที่ยังคงมีเว็บที่ดูแลอยู่อีก 3 เว็บยังคงทำงานอยู่บน PHP4 และไม่มีแนวโน้มว่าเขาจะปรับเวอร์ชั่นของ PHP ให้ (หรือเขาจะปรับให้แต่คิดเงินอีกหลายพัน) ก็เลยต้องกลับมาปรับแก้โปรแกรมใหม่ (ซึ่งจริง ๆ ก็คงไม่มากนัก แต่ต้องตรวจสอบใหม่ทั้งระบบ)
พยายามติดตั้ง Apache2+PHP4+MySql3 แต่ติดปัญหาตอนติดตั้ง PHP4
เลยติดตั้ง Lighttpd+php4+MySql5 แทน
ติดตั้ง Lighttpd โดย
sudo apt-get install lighttpd lighttpd-doc
ติดตั้ง php4-cgi
sudo apt-get install php4-cgi
sudo apt-get install php4-mysqlเปิดใช้งาน cgi
sudo lighty-enable-mod cgi
แก้ไขไฟล์ /etc/lighttpd/conf-enabled/10-cgi.conf โดยเอาเครื่องหมาย # หน้า cgi.assign ออกให้หมด
หากใน sources list ไม่มี php4-cgi ก็ให้เพิ่ม sources นี้ใน /etc/apt/sources.list ซึ่งได้มาจาก http://www.dotdeb.org/mirrors/
deb http://mirror.oeg.com.au/packages.dotdeb.org stable all
deb-src http://mirror.oeg.com.au/packages.dotdeb.org stable all
และอาจจะต้องติดตั้ง libzzip-0-12 ก่อน
ข้อมูลอ้างอิง
- Lighttpd Webserver Installation in Debian
- Setting up PHP with Lighttpd
- Running both PHP4 and PHP5
- Php5 y php4 también conviven en mi ubuntu
- Lighttpd FasCGI PHP, MySQL chroot jail installation under Debian Linux
- Install MySQL Server 4.1 on Ubuntu
- หรืออาจะใช้ Cherokee Web Server ซึ่งมีรายละเอียดการติดตั้งที่ How to Forge ยังไม่ได้ลอง แต่ขอเก็บไว้ก่อน
- The Perfect Server - Ubuntu Intrepid Ibex (Ubuntu 8.10)
- Setting up PHP with Lighttpd
ปล. อาจจะมั่ว ๆ ไปนิด วันหลังจะมาเรียบเรียงใหม่อีกทีนะครับ <!-- อย่างแรกคือ ติดตั้ง apache2 ก่อน
sudo apt-get install apache2
ต่อมาติดตั้ง php4-cgi
sudo apt-get install php4-cgi
php จะถูกติดตั้งไว้ที่ ในชื่อ php-cgi -->