อาทิตย์, กันยายน 05, 2010
   
Font Size
Tag:php

Installing LAMP on Ubuntu 7.10/8.04/8.10 (Linux,Apache,MySQL,PHP)

Lately I’ve been using ubuntu 7.10 for all my projects/daily work.
As a web developer i should have LAMP on my machine and now i would guide you through installing it on yours.

This guide is divided into 3 steps: installing/tesing Apache, PHP and finally MySQL.

Lets start with Apache:
1. Open the terminal (we will be using it through most of my guide) from Applications > Accessories > Terminal
2. Install apache2 using apt-get by typing the following

sudo apt-get install apache2

Note that you should know the root password.
Now everything should be downloaded and installed automatically.
To start/stop apache2 write:

sudo /etc/init.d/apache2 start
sudo /etc/init.d/apache2 stop

Your www folder should be in: /var/www/

If everything is OK you should see an ordinary HTML page when you type: http://localhost in your firefox browser

Finished with Apache ? lets conquer PHP:


1. Also in terminal write:

sudo apt-get install php5 libapache2-mod-php5

or any php version you like
2. restart apache

sudo /etc/init.d/apache2 restart

This is it for PHP :D Wanna test it ? Just create an ordinary PHP page in /var/www/ and run it.
Example:

sudo gedit /var/www/test.php

and write in it: < ?php echo “Hello World”; ?>

Now run it by typing http://localhost/test.php in firefox… You should see your ” Hello World ”

66 % is over, lets continue to installing MySQL:
1. Again and again in terminal execute:

sudo apt-get install mysql-server

2. (optional) If you are running a server you should probably bind your address by editing bind-address in /etc/mysql/my.cnf and replacing its value (127.0.0.1) by your IP address
3. set your root password (although mysql should ask you about that when installing)

mysql> SET PASSWORD FOR ‘root’@'localhost’ = PASSWORD(’xxxxxx’);

4. Try running it

mysql -uroot -pxxx

where xxx is your password.
Note: You can install PHPMyAdmin for a graphical user interface of MySQL by executing

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

5. restart apache for the last time

sudo /etc/init.d/apache2 restart

Congratulions your LAMP system is installed and running :D Happy Coding

//Jo

UPDATE:
Due to the large number of people emailing about installing/running phpmyadmin.
Do the following:

sudo apt-get install phpmyadmin

The phpmyadmin configuration file will be installed in: /etc/phpmyadmin
Now you will have to edit the apache config file by typing

sudo vi /etc/apache2/apache2.conf

and include the following line:

Include /etc/phpmyadmin/apache.conf

Restart Apache

sudo /etc/init.d/apache2 restart

Another issue was making mysql run with php5
First install these packages:

sudo apt-get install php5-mysql mysql-client

then edit php.ini and add to it this line : ” extensions=mysql.so” if it isnt already there

sudo vi /etc/php5/apache2/php.ini

Restart Apache

sudo /etc/init.d/apache2 restart

Hope this helps :)

 

เคยไหมที่ต้องการรู้ข้อมูลของเซิร์ฟเวอร์ ว่าใช้ RAM อะไร? ใช้ CPU อะไร? ใช้ HardDisk อะไร? วันนี้เรามีโค้ดง่ายๆที่จะตรวจสอบให้รู้ว่าเซิร์ฟเรามีอะไรบ้าง โดยใช้โค้ดตามนี้

<pre>
<b>Uptime:</b>
<?php system("uptime"); ?>

<b>System Information:</b>
<?php system("uname -a"); ?>

<b>Memory Usage (MB):</b>
<?php system("free -m"); ?>

<b>Disk Usage:</b>
<?php system("df -h"); ?>

<b>CPU Information:</b>
<?php system("cat /proc/cpuinfo | grep \"model name\\|processor\""); ?>
</pre>

โดยเซิร์ฟของคุณต้องเป็น Linux และเปิดคำสั่ง system() เอาไว้ด้วย เมื่อเรียกโดย PHP เราจะได้ค่าออกมาดังนี้

Uptime:
22:55:29 up 90 days, 22:15, 0 users, load average: 1.87, 1.59, 1.36

System Information:
Linux athon.websitewelcome.com 2.6.33.1 #6 SMP PREEMPT Tue Mar 23
23:09:34 CDT 2010 i686 i686 i386 GNU/Linux

Memory Usage (MB):
total used free shared buffers
cached
Mem: 8037 7704 333 0 300
6030
-/+ buffers/cache: 1373 6664
Swap: 6142 0 6141

Disk Usage:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.9G 939M 3.7G 20% /
/dev/sda7 1.3T 273G 928G 23% /home
/dev/sda6 3.9G 143M 3.6G 4% /tmp
/dev/sda3 25G 7.0G 17G 31% /usr
/dev/sda2 49G 28G 19G 61% /var
tmpfs 4.0G 0 4.0G 0% /dev/shm
none 4.0G 6.6M 4.0G 1% /var/spool/exim

CPU Information:
processor : 0
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 1
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 2
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 3
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 4
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 5
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 6
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 7
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz


ง่ายดีใช่ไหมละครับ เราสามารถนำวิธีนี้ไปประยุกต์ใช้ตรวจสอบเมื่อ Server มีการโหลดเยอะๆ หรือหน่วยความจำใกล้เต็มได้ด้วย

 

ถ้าหากเราจะเข้ารหัสต่างๆแบบ Symmetric ภายในแพลตฟอร์มเดียวกันเนี่ยคงไม่ค่อยมีใครเจอปัญหาอะไรหรอกใช่ม่ะ

แต่ถ้าต้องมาข้ามสายพันธ์ล่ะ? คงต้องคิดกันหนักหน่อย วันนี้ก็เลยทดสอบการเข้ารหัสที่สามารถใช้ได้ ทั้ง C# และ PHP ดูว่าจะเวิร์คมั้ย (ส่วน Java เอาไว้ก่อน)

การเข้ารหัสแบบ Symmetric เนี่ยก็มีหลายวิธีเช่น DES, Triple-DES, Blowfish, IDEA, RC5, AES แต่เราจะเลือกใช้วิธีไหนดีล่ะ ปกติก็ใช้แต่ AES

ว่าแล้วก็ลองสร้างกับ AES ดูแต่ปรากฎว่าไม่เวิร์คสงสัยยังเมพไม่พอ ทำให้เข้ารหัสกับ C# กับถอดที่ PHP ผลลัพธ์ออกมาไม่เหมือนกัน

เลยต้องมาหาข้อมูลใหม่ก็พบว่าใช้ 3DES ดูแล้วค่อนข้างจะง่าย เพราะมีตัวอย่างอยู่เยอะแยะ ก็เลยเอาโค้ดมาปรับปรุงนิดๆ หน่อยๆ ก็ใช้ได้แล้ว โดยสามารถถอดข้ามกันไปมาระหว่าง PHP และ C# ได้สบายบรื๋อ


ทดสอบ PHP ดูจิ๊

PHP 3DES Encryption

มาดูทาง C# มั่ง

C# 3DES Encryption


ฮัดช่า!! ก็ถือว่าใช้ได้แล้วสำหรับการเข้ารหัสข้ามแพลตฟอร์มโดยใช้ 3DES

ใครอยากได้ตัวอย่างโค้ดก็สามารถไปโหลดได้ที่นี่ (ตัวโค้ดมองเห็นเฉพาะคนลงทะเบียน)

 

พอดีช่วงนี้ต้องใช้ Imagick แถมบน windows ซะด้วย งมหาวิธีตั้งนาน เลยเอาบทความมาเก็บไว้ซักหน่อย ไม่เห็นเหมือนบน Ubuntu เลย ง่ายจึ๋งเดียวเอง

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

ติดตั้ง Imagick บน PHP 5.x บน Windows

ช่วงนี้แม้จะเซง หลาย ๆ เรื่องแต่ก็ต้องทำงาน ;P แต่ว่าเมื่อมีปัญหาเราก็ต้องแก้ไป วันนี้เลยเอามาโน๊ตไว้สักหน่อย

การ ลง Imagick เนี่ย บน Linux เนี่ยง่ายโคตร ๆ ยิ่งบน Ubuntu ยิ่งง่ายหนักไปอีก –_-‘ ประมาณว่า $ sudo apt-get แล้วก็นั่งรอ สักพักก็ได้แล้ว

แต่ถ้าเป็นบน Windows เนี่ย ตอน PHP 4 ถ้าให้ง่ายที่สุดก็คือ php_imagick.dll มาลง แต่บน PHP 5.2.+ มันไม่ง่ายแบบนั้น –_-‘ เพราะไฟล์ php_imagick มันไม่อยู่ใน PECL/Imagick สำหรับ Windows ให้โหลดได้ตามปรกติ (unofficial builds) ต้องหากันทั่ว Internet แต่พอเจอวิธีทำแล้วก็ต้องเอามาบันทึกไว้สักหน่อย

  1. โหลด ImageMagick-6.5.0-0-Q16-windows-dll.exe ที่ http://www.imagemagick.org/script/binary-releases.php#windows
  2. เสร็จแล้วไปโหลดตัว dynamic link (dll) ที่
    The last build date: 09.07.2008
    - Imagick 2.2.1-dev / PHP 5.2 / ImageMagick 6.4.1-Q8 / dynamic - php_imagick_dyn-Q8.dll
    - Imagick 2.2.1-dev / PHP 5.2 / ImageMagick 6.4.1-Q16 / dynamic - php_imagick_dyn-Q16.dll
    - Imagick 2.2.1-dev / PHP 5.2 / ImageMagick 6.4.1-Q8 / static - php_imagick_st-Q8.dll
    - Imagick 2.2.1-dev / PHP 5.2 / ImageMagick 6.4.1-Q16 / static - php_imagick_st-Q16.dll
  3. โดยสำหรับผมโหลด php_imagick_dyn-Q16.dll มาแล้วเอาไปไว้ใน directory “ext” ของ PHP
  4. Rename ชื่อเป็น php_imagick.dll
  5. เสร็จแล้วเปิดไฟล์ php.ini แล้วเพิ่ม
    extension=php_imagick.dll
  6. แล้วทำการ Restart ตัว Apache Services
  7. เขียนไฟล์ PHP สักตัวด้วย <?php phpinfo(); ?> แล้วก็ดูว่า imagick มันโหลดขึ้นมาหรือเปล่า (ถ้าทำถึงตรงนี้น่าจะเห็นแล้ว)
 


บทความจากคุณ Ford AntiTrust’s ครับ

 

php and mysql

เป็นเทคนิคเล็กๆน้อยๆที่หลายๆคนมองข้าม ทำให้โปรแกรมที่เขียนขึ้นมาไปถ่วงความเร็วของ server ใครมีเทคนิคอื่นๆที่ดีกว่าก็แนะนำผมมั่งนะครับ

การค้นหา คำ

{codecitation class="brush: sql; gutter: true;" width="650px"}SELECT * FROM table WHERE MATCH (`field`) AGAINST ('Keyword');{/codecitation}ผลลัพธ์ : เร็วโพดๆ

{codecitation class="brush: sql; gutter: true;" width="650px"}SELECT * FROM table WHERE MATCH (`field`) AGAINST ('+Keyword' IN BOOLEAN MODE);{/codecitation}ผลลัพธ์ : เร็ว

{codecitation class="brush: sql; gutter: true;" width="650px"}SELECT * FROM table WHERE RLIKE '(^| +)Keyword($| +)';{/codecitation} หรือ{codecitation class="brush: sql; gutter: true;" width="650px"}SELECT * FROM table WHERE RLIKE '([[:space:]]|[[:<:]])Keyword([[:space:]]|[[:>:]])';{/codecitation}ผลลัพธ์ : ช้า,เต่า


Contains searching

{codecitation class="brush: sql; gutter: true;" width="650px"}SELECT * FROM table WHERE MATCH (`field`) AGAINST ('Keyword*' IN BOOLEAN MODE);{/codecitation}ผลลัพธ์ : เร็วโพดๆ

{codecitation class="brush: sql; gutter: true;" width="650px"}SELECT * FROM table WHERE field LIKE 'Keyword%';{/codecitation}ผลลัพธ์ : เร็ว

{codecitation class="brush: sql; gutter: true;" width="650px"}SELECT * FROM table WHERE MATCH (`field`) AGAINST ('*Keyword*' IN BOOLEAN MODE);{/codecitation}ผลลัพธ์ : ช้า,เต่า

{codecitation class="brush: sql; gutter: true;" width="650px"}SELECT * FROM table WHERE field LIKE '%Keyword%';{/codecitation}ผลลัพธ์ : ช้า, เต่า


การทำ Recordsets

{codecitation class="brush: sql; gutter: true;" width="650px"}SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE Condition LIMIT 0, 10;

SELECT FOUND_ROWS();{/codecitation}ผลลัพธ์ : เร็วโพดๆ

{codecitation class="brush: sql; gutter: true;" width="650px"}SELECT * FROM table WHERE Condition LIMIT 0, 10;

SELECT COUNT(PrimaryKey) FROM table WHERE Condition;{/codecitation}ผลลัพธ์ : เร็ว

{codecitation class="brush: php; gutter: true;" width="500px"}$result = mysql_query("SELECT * FROM table", $link);

$num_rows = mysql_num_rows($result);{/codecitation} ผลลัพธ์ : โคตรช้า, โคตรเต่า


การ Joins

ใช้ INNER JOIN เมื่อคุณต้องการผลลัพธ์ที่ตารางมีค่าร่วมกันตามที่ระบุไว้. ใช้ LEFT JOIN เมื่อข้อมูลในตารางไม่ตรงกันเสมอไป.

{codecitation class="brush: sql; gutter: true;" width="700px"}SELECT * FROM products INNER JOIN suppliers ON suppliers.SupplierID = products.SupplierID;{/codecitation}

จะส่งกลับข้อมูล products ที่เหมือนกันกับ supplier ทั้งหมดออกมา.

{codecitation class="brush: sql; gutter: true;" width="700px"}SELECT * FROM products LEFT JOIN suppliers ON suppliers.SupplierID = products.SupplierID
WHERE suppliers.SupplierID IS NULL;{/codecitation}

จะส่งกลับข้อมูล products ที่ตรงหรือไม่ตรงกับ supplier ออกมา.


ข้อแนะนำที่ควรทำเสมอๆ

1. ใช้ตัวเล็กสำหรับตั้งชื่อตาราง (จะช่วยได้มากในการย้ายระบบปฏิบัติการณ์ เช่นย้ายจาก Windows ไป Linux)
2. ตั้งชื่อตารางที่มีความหมายเข้าใจง่ายเช่น ProductName, SupplierPostCode จะช่วยให้ทำ JOIN ทำได้ง่ายขึ้น
3. สร้างฟิลด์ id ที่มีชื่อตารางเข้าไปด้วยเสมอเช่น ProductID (ไม่แนะนำให้ใช้คำว่า id เฉยๆ ตอน JOIN จะงง)
4. ทำ Index ฟิลด์ที่ต้องใช้ JOIN บ่อยๆ
5. แยกตารางสำหรับ updates, deletes และอื่นๆ ออกจากกัน

เรียบเรียงจาก thespanner

 

เมื่อสองวันก่อนเกิดคึกขึ้นมาเลยมีอารมณ์อยากจับเว็บแต่งตัวซะใหม่ ตอนแรกก็เบื่อๆ Joomla ล่ะว่าจะเปลี่ยนไปใช้ Drupal ซักหน่อย

แต่ติดตรงที่ว่า Drupal มี theme ที่ถูกใจน้อยโคตร! ไอ้เราก็ไม่ใช่ Designer ที่จะทำ theme ได้ออกมาดูดีซะหน่อย เลยตัดสินใจใช้ Joomla ครือเก่านี่ล่ะง่ายดี

ในเมื่อมันดีอยู่แล้วจะเปลี่ยนไปใย อิอิ

พอเลือกได้แล้วว่าจะใช้ Joomla ก็มาถึงว่าจะเลือกเอา board แบบไหนตอนที่เลือกนี้มีคิดๆไว้อยู่สองตัวคือ Agora Forum กับ Kunena Forum

ส่วนบอร์ดแยกแบบ SMF หรือ phpBB ไม่เอาล่ะ(เว็บเก่า bridge กับ phpBB3 โดย Rokbridge)  อยากให้มันรวมกันเป็นก้อนไปเลยคิดว่าน่าจะดีกว่า ในที่สุดก็เลือก Agora แต่ดูเหมือนจะมีปัญหากับการตัดคำไทยอยู่

แต่ว่าก็ลงๆไปก่อน ถ้าไม่ถูกใจเดี๋ยวเปลี่ยนไปเป็น Kunena แทน

เริ่มมาก็ลง Joomla แบบ clean ก่อนเลย แล้วตาม extension พวกโมดูลและปลั๊กอินที่น่าสนใจต่างๆ ลงเสร็จก็มาะ tune ให้หลายๆอย่างมันเข้าที่เข้าทางซักหน่อย

ก็ออกมาแจ่มเจ๋งเป็ด! หลังจากนั้นก็มาเทสกับ browser ต่างๆก็ ok ดูดีมากยกเว้น IE6 ที่ logo มันไม่โปร่งแสง! ห่วยแสรดดดด

ครั้นจะให้มาเสียเวลาแก้ Style sheet ก็ไม่ใช่เรื่องงั้นก็ดองมันไว้งั้นล่ะ แถมลง IE6 warning เอาไว้ด้วย คึคึ Money mouth

จากนั้นก็ import DB จากอันเก่ามาอันใหม่ เปิดดู browser ต่างๆ อืมมม ก็โอเค แต่พอเปิดใน IE6 เท่านั้นล่ะ เละครับเละ! หน้า page เละไปหมดเลย

ความจริงไม่สนใจจะแก้ก็ได้ แต่เดี๋ยวโดนข้อหาเหยียดชนชั้น เลยต้องแก้ให้อย่างน้อยหน้าเพจไม่เละให้อ่านออกซักหน่อยละกัน

ว่าแล้วก็เลยไปควานหาบทความที่ทำให้ template เละพบอยู่สองอันคือบทความ อันนี้ กับ อันนี้ เลยต้องมานั่งแก้อีก รู้สึกจะมีปัญหาเรื่อง table นี่ล่ะเสียเวลาจริงๆ

พอแก้เสร็จเจอปัญหาจูมล่ามองไม่เห็น user ที่ insert เข้าไปอีกเซ็งเป็ดเลยควานหาวิธีก็ได้มาว่า มีปัญหาเรื่อง Auto increment ในบางตารางของจูมล่าให้เรียกคำสั่ง SQL ตามนี้


{codecitation class="brush: sql; gutter: true;" width="700px"}
DELETE FROM jos_core_acl_aro WHERE id <> 62;
DELETE FROM jos_core_acl_groups_aro_map WHERE aro_id <> 62;
INSERT INTO jos_core_acl_aro (section_value, value , name)
    SELECT 'users', id, name from jos_users WHERE id NOT IN (SELECT value from jos_core_acl_aro WHERE id = 62);
INSERT INTO jos_core_acl_groups_aro_map (group_id, aro_id)
    SELECT 18, id FROM jos_core_acl_aro where id <> 62;
{/codecitation}

เสร็จแล้ว user ก็จะตรงกันจากนั้นก็ไปที่ component->Agora Forum-> Maintenance-> DB tool-> Sync user ให้ตรงกัน

จากนั้นก็เข้าไปใน db เข้าไปในตาราง jos_core_acl_aro ดูว่า ago_id อันไหนมันเป็น Super Admin แล้วก็กลับมาแก้ใน jos_core_acl_groups_aro_map ให้ group_id เป็น 25  แค่นี้ก็เรียบร้อย

เว็บเสร็จแล้วก็เพิ่มบทความใหม่ซักหน่อย(ความจริงไม่ใหม่หรอก ทำไว้นานแล้วแต่ไม่ได้ publish - -")เจอปัญหาบทความเละกับ IE6 อีก(โอ้ววน้องเจ้า ช่างเอาใจยากนัก)

เลยมาควานหาๆ ดูผมว่ามีปัญหากับ code highlight นี่เองเลยต้องไปหาส่วนเสริมพวก code display มาลงใหม่อีก Yell

โดยส่วนของ  highlight code ผมใช้ RJ insertcode ที่เป็น plug-in เสริมของ JCE เลยต้องหา highlight code ตัวอื่นมาลงเลือกไปเลือกมาก็ได้ Codecitation มาใช้

เสร็จแว้วว ใช้เวลาทั้งหมด 5 ชม.เต็มๆในการอัพคร้้งนี้ วะฮ่าฮ่า

 
วิธีตรวจจับ browser IE6 แบบง่ายๆ ด้วย jQuery นะจ๊ะ
ก่อนอื่นก็ import jquery, jquery ui และ jquery ui css เข้ามาซะ
1
2
3
4
<link type="text/css" href="jscript/jquery/themes/redmond/ui.all.css" rel="stylesheet" />
<script type="text/javascript" src="jscript/jquery/jquery.js"></script>
<script type="text/javascript" src="jscript/jquery/jquery-ui.min.js"></script>
<script type="text/javascript" src="jscript/jquery/ui/ui.core.js"></script>
 
จากนั้นก็ใส่โค้ดนี้ลงไปที่ head ซะจะได้ถูกหลัก w3c หน่อย หุหุ
1
2
3
4
5
6
if (jQuery.browser.msie) {
if(parseInt(jQuery.browser.version) == 6) {
//อะไรก็ว่าไป
$("#checkBrowserBox").dialog({ modal: true });
}
}
 
แล้วเราก็สร้าง #checkBrowserBox ขึ้นมา แล้วก็ซ่อนมันไว้ก่อนด้วย Display
1
2
3
4
5
6
7
8
9
10
<div id="checkBrowserBox" title="โอ๊ะโอ" style="Display:none">
คุณกำลังใช้งาน Browser รุ่นเก่าซึ่งอาจจะมีข้อผิดพลาดในการแสดงผลได้ <br>
กรุณาปรับปรุงเป็นรุ่นใหม่เพื่อการใช้งานราบลื่น
<br>
<br>
คุณสามารถโหลดได้ฟรี
<a href="http://www.microsoft.com/windows/internet-explorer/worldwide-sites.aspx"
target="_blank">ที่นี่</a>
โดยสามารถโหลดได้ฟรี
</div>
 
แค่นี้ก็เรียบร้อย พอเจ้า IE6 และน้องชายมัน IE7 เข้า ไอ้กล่องนี้มันก็เด้งโชว์ ผลลัพธ์ที่ได้ก็จะได้เป็น
warningIE6
 
อุอุ ง่ายมั้ยล่ะ!
วิธีนี้เอาไปประยุกต์ใช้ แนบ css เฉพาะสำหรับ IE6 ก็ได้ด้วยนะเออ
ปล. ไม่ได้อัพนาน เลยมาอัพแบบขี้เกียจๆแบบนี้ล่ะง่ายดี อิอิ
 
เกลียด IE6 ไหม!?!?!? งั้นเรามาร่วมมือร่วมใจกำจัด IE6 กัน
เพียงนำโค้ดนี้ไปใส่ในหน้าเวปของท่าน แล้วเปลี่ยนคำสั่งตรง header(); เป็นลิงค์ที่อยากให้ไปเช่น
header('Location:http://เวปที่คุณอยากให้ไป.com/STOPIE6.php');
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$chk= $_SERVER['HTTP_USER_AGENT'];
if (strpos($chk,'MSIE') != false && strpos($chk,'Opera') === false)
{
if (strpos($chk,'Windows NT 5.2′) != false)
{
if(strpos($chk,'.NET CLR') === false) return;
}
if (substr($chk,strpos($ua,'MSIE')+5,1) < 7)
{
header("Location:http://www.blackdemon.co.cc/stopie6.php");
}
}

?>
หึ หึ หึ
เอ... จะโหด ไปมั้ยเนี่ย?
 

ก่อนอื่นเราจะต้องสร้าง article สำหรับให้ redirect มาที่หน้านี้ก่อนแล้วจำ url ของ article นี้เอาไว้ อย่างเช่นของผมเป็น

http://www.blackdemon.co.cc/index.php?option=com_content&view=article&id=60

แล้วให้เราไปแก้ไขไฟล์ error.php ที่อยู่ในพาธ /templates/system/error.php

จากนั้นก็ค้นหาคำว่า

1
defined( '_JEXEC' ) or die( 'Restricted access' );



แล้วก็ใส่ code นี้ทับลงไป

1
2
3
4
5
6
defined( '_JEXEC' ) or die( 'Restricted access' );
if (($this->error->code) == '404') {
echo file_get_contents('http://www.blackdemon.co.cc/index.php?
 option=com_content&view=article&id=60');
}
else
{





แล้วไปที่บรรทัดล่างสุดใส่ code นี้ปิดอีกที

1
2
3

}
?>




พอลองเข้าเว็บเรามั่วๆก็จะได้

404error

เรียบร้อยแล้วครับ ง่ายใช่มั้ยล่ะ!! แหะๆ

งาน เผาครับปั่นๆเอาไว้แล้วก็ดองอีกตามเคย




 

Q: ถ้าจะ เพิ่ม,แก้ไข, ลบ Meta tag ชอง joomla ทำยังไง?

A:วิธีทำ แบ่งออกได้เป็นสองวิธีตามรุ่น ตามนี้

  • รุ่น 1.5.x ที่อยู่ของ Meta tag จะอยู่ที่... "mywebjoomla/libraries/joomla/document/html/renderer/head.php"
  • รุ่น 1.0.x ที่อยู่ของ Meta tag จะอยู่ที่... "frontend.php"

Q: อยู่โค้ดอยู่ตรงไหน แก้ยังไง?
A:มองหาโค้ดที่มีคำสั่งนี้ (ประมาณบรรทัด 75-73):

1
2
3
4
5
6
7
8
$strHtml .= $tab.'<meta name="'.$name.'" content="'.$content.'"'
.$tagEnd.$lnEnd;

$strHtml .= $tab.'<meta name="description" content="'.$document->
getDescription().'">'.$lnEnd;

$strHtml .= $tab.'<meta name="generator" content="'.$document->
getGenerator().'">'.$lnEnd; 

จะแก้ไขอันไหนก็เลือกตามสบายแต่ต้องอยู่ภายใน ' ' นะ

Q:ถ้าหากจะเพิ่มล่ะ?

A:เราก็เพิ่มบรรทัดเข้าไปใหม่เช่น

1
$strHtml .= $tab.' <meta name="verify-v1" content="xxxxxxxxxxxx
xxxxxxx" > '.$lnEnd;

Q:แล้วถ้าอยากจะลบล่ะ?

A:ก็ลบบรรทัดนั้นทิ้งหรือก็ใส่เครื่องหมาย // หน้าบรรทัดนั้นๆเช่น

1
//$strHtml .= $tab.'<meta name="generator" content="'.$document->
getGenerator().'" />'.$lnEnd;


Q:แล้วจะแก้ไข META Tagทำไม มีประโยชน์อะไร?

A:เอ่อ... แล้วแต่จุดประสงค์ของแต่ละคนสิครับ เหอๆ บางคนก็อยากเพิ่ม meta เอาไว้ใส่โค้ด Google Analysis หรือ Google Webmaster tools บางคนก็อยากลบ Generatorของ Joomla ออก

มีอะไรสงสัยก็ถามได้นะครับ

 
Powered by Tags for Joomla

Who's Online

เรามี 26 บุคคลทั่วไป ออนไลน์