[Ubuntu] Enabled Mod_Rewrite and htaccess on LAMP

วิธีการดังกล่าว เหมาะสำหรับ ผู้ที่ต้องการ Deploy Web Framework จำพวก codeigniter, cakephp, zend framework เป็นต้น ซึ่งต้องใช้ Mod_Rewrite และ htaccess

Web Server Installation

วิธีที่ 1

1. เปิดเทอร์มินัล แล้วพิมพ์ตามนี้เรย

$ sudo apt-get install apache2 mysql-server-5.0 libapache2-mod-php5

2. restart apache ครั้งนึง

$ sudo /etc/init.d/apache2 restart

หรือ วิธีที่ 2

1. เปิดเทอร์มินัล แล้วพิมพ์ตามนี้เรย

$ sudo tasksel

2. เลือก Web Server กับ OpenSSH Server

3. restart apache ครั้งนึง

$ sudo /etc/init.d/apache2 restart

3. เพิ่มเติม Apache Directory จะอยู่ที่ /etc/apache2

เปิดบริการ mod_rewrite และ .htaccess

โดยปกติแล้ว Apache ไม่ได้ Allow ไฟล์ .htaccess กับ Enable Modul Rewrite เพราะฉะนั้น เราต้องไปลงเอง

1. Enabled mod_rewrite ก่อน

$ sudo a2enmod rewrite

2. เปิดไฟล์ 000-default เพื่อ AllowOverride หมายถึง อนุญาติให้ใช้ไฟล์ .htaccess

$ sudo vi /etc/apache2/sites-enabled/000-default

เปลี่ยนจาก “AllowOverride None” เป็น “AllowOverride All” เพื่อให้ .htaccess ทำงาน จะได้ Code หน้าตาประมาณนี้

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
	ServerName localhost
	DocumentRoot /var/www
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
</VirtualHost>

3. Restart Apache จิ๊ดนุง

$ sudo /etc/init.d/apache2 restart

4. ทดสอบด้วยการลอง phpinfo(); ที่ index.php

<?php echo phpinfo(); ?>

Leave a Comment