Sunday, June 30, 2013

[Tips] ขั้นตอนการทำ Wordpress Multisite แบบสมบุรณ์ +Imac

สำหรับ Tips การทำ wordprss multisite ผมเปิดให้สมาชิกทั่วไปเห็นได้
เนื่องจากมันเป็นความรู้เบื้องต้นสำหรับ การทำ worpdress นะครับ

ตอนนี้ยังไม่มีรูปแสดงนะครับ เดี๋ยวผมจับภาพแล้วเอามาแก้ตามทีหลังนะครับ
และไฟล์ pluin 5 ตัว ตามหัวข้อ 6 ผมปรับแต่งให้มัน auto มากขึ้นเรียบร้อยแล้ว เดี๋ยวจะอัพเด็ทให้ทีหลังนะครับ

         ================================================================
สำหรับมือใหม่ ยังไม่ชำนาญผมแนะนำให้ print หรือคัดลองเอามาทำ check list ของเราได้นะครับ ว่าเราทำถึงขั้นตอนไหนแล้วจะได้ไม่หลง
         ================================================================

11 ขั้นตอนการทำ Wordpress Multisite

1. Add domain เข้า cpanel  ==> addon domain

2.ทำ wicard sub domain    ( *.domain)  
==>add subdomian  
ช่องแรกใส่ ใส่ * แล้วเลือก domain ที่ต้องการ
ช่องสองใส่ pub_html/ชื่อโดเมนที่เลือก

3.Install wp ผ่าน menu fantasico หรือ autoinstaller ของ softaculous แล้วแต่กรณี

4.Install plugin wp_multistie_enable
==>login เข้า wp  ==>Plugin--->install-->add new เมื่อ add เสร็จให้ active 
เมื่อ Active เสร็จแล้ว ==>Setting  -->Enable Multisite
เลือก sub-domian กด install

5 Login อีกครั้งหนึ่ง แล้วเข้าไปที่ Network Admin เมนูจะอยู่ด้านบนขวามือตรง (My site -->Network admin)

ุุ6.Install Plugin ที่จำเป็นประกอบด้วย
   6.1 Random Theme On Signup
   6.2 wpmu-new-blog-defaults.zip
   6.3 all-in-one-seo-pack.zip
   6.4 WP Super Cache
   6.5 Wp Sitemap for Multisite
   Plugin -->Add New
เสร็จแล้วก็กด avtie ให้เรียบร้อย

7.ลง theme ประมาณ 10 -20 Theme ==>Theme -->add new
เสร็จแล้วก็กด avtie ให้เรียบร้อย

8.Config Wp Blog Default
==> Setting --> New Blog Defaults
  Writing Settings  ---> คลิ๊กถูกหน้าช่อง  XML-RPC  Enable the WordPress, Movable Type, MetaWeblog and Blogger XML-RPC publishing protocols.
  Discussion Settings  
      เอา เครื่องหมาย ถูกออก ==>Attempt to notify any blogs linked to from the article (slows down posting.)  
    เอา เครื่องหมาย ถูกออก ==> Allow link notifications from other blogs (pingbacks and trackbacks.) 
    คลิีกถูก เลือก                        ==> Automatically close comments on articles older than days เปลื่อน จาก เลข 14 เป็น 1
    เอา เครื่องหมาย ถูกออก ==> Anyone posts a comment 
    เอา เครื่องหมาย ถูกออก ==> A comment is held for moderation
  Customize Permalink Structure
   เลือก ช่องสุดท้าย Custom Structure  ใส่ในช่องว่างเป็น  /%postname%/
   
     ** ตรงนี้สำคัญ นะครับ ต้อง เลือกทั้ง 4 อันเลย
   คลิ๊กถูกเลือก  Delete Initial Comment  Yes
   คลิ๊กถูกเลือก  Close Comments on Hello World Post  yes
   คลิ๊กถูกเลือก  Close Comments on About Page Yes
   คลิ๊กถูกเลือก  Make First Post a Draft ("Hello World") Yes
   
  กด Save Change
  
  9.Config Wordpress Super Cache
  ==> Setting --> Wordpress Super Cache
คลิ๊กถูกเลือก   Caching       Caching On (Recommended)  เพื่อเปิดใช้งาน cache
กด update Status

10.ปรับแต่ง Domain หลัก 
 ลบ post ,page
 enable xmlrpc    Writing Settings  ---> คลิ๊กถูกหน้าช่อง  XML-RPC  Enable the WordPress, Movable Type, MetaWeblog and Blogger XML-RPC publishing protocols.
Discussion Settings ทำเหมือน blog default ข้างบน
Permalink Settings  เลือกเป็น Post name
เปลี่ยน Theme ที่สวยงาน ที่เมนู Theme 


11 Add New Site เพื่อสร้าง subdomain ไว้ปั่น
เมนู Site -->  Add New
Site Address ใส่ address ของ site อย่าให้มีช่องว่างหรืออัีกระพิเศษ
Site Title   Title ของเว็บ
Admin Email  Email  make เอาก็ได้ เช่น autopost001@hotmail.com 
เสร็จแล้ว กด Add site ก็เป็นอันเสร็จ 
จะได้ sub domain ที่ ปรับแต่ง seo enable xmlrpc และ เปลี่ยน theme ใหม่ แบบ random เรียบร้อยแล้ว

สำหรับ การ add new site สามารถใช้ imacros รันได้เลย เดี๋ยวผมจะทำให้เป็นตัวอย่างง่ายๆไว้รันกันนะครับ


อัพเด็ท imacros สำหรับ สร้าง SUB 
1.นำไฟล์ wp_mu_add_site.csv ไปไว้ใน My Documents\iMacros\Datasources\
2.นำไฟล์ wp_mu_add_site.iim   ปไว้ใน My Documents\iMacros\Macros\

แก้ไขไฟล์ wp_mu_add_site.csv

colum ที่ 1 เป็น address 
colum ที่ 2 เป็น Title
colum ที่ 3 เป็น Email
colum ที่ 4 เป็นชื่อ domain หลัก ไม่ต้องใส่ http://

วิธีใช้ Login เข้า domain หลักก่อน แล้วค่อย รัน imarcos

http://155studio.com/155autoposter/index.php?topic=496.0

วิธีลบโพสทั้งหมดออกจาก wordpress

delete a,b,c,d
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON ( a.ID = b.object_id )
LEFT JOIN wp_postmeta c ON ( a.ID = c.post_id )
LEFT JOIN wp_term_taxonomy d ON ( d.term_taxonomy_id = b.term_taxonomy_id )
LEFT JOIN wp_terms e ON ( e.term_id = d.term_id )
WHERE e.term_id =1

ถ้าจะลบหมดเลยไม่ต้องใส่ WHERE e.term_id =1

การตั้งค่า Multisite สำหรับ wordpress

สำหรับเวิร์ดเพรสรุ่นตั้งแต่ 3.0 ขึ้นไป wordpress mu ได้รวมเข้ากับ wordpress ทำให้ wordpress ตัวปกติมีความสามารถเหมือนกับ wordpress mu
วิธีการตั้งค่า multisite สำหรับ wordpress
เริ่มด้วยการตั้งค่า subdomain “*” เพิ่มเข้าไปสำหรับเว็บไซต์ที่เราต้องการทำ wordpress multisite สำหรับการติดตั้งแบบ subdomain เท่านั้น
เวิร์ดเพรส, wordpress, multisite
เพิ่มคำว่า
define(‘WP_ALLOW_MULTISITE’, true);
เข้าไปในไฟล์ wp-config.php ตามในรูป
เวิร์ดเพรส, wordpress, multisite
เมื่อเข้ามาใน dashboard ของ wordpress จะเห็น function “network” เพิ่มเข้ามาในเมนู tool ให้กด install ได้เลย wordpress ที่ผมใช้นี้ติดตั้งนานแล้ว มีบทความอยู่ ทำให้ไม่สามารถเลือกติดตั้งแบบ subdirectory ได้ ต้องติดตั้งแบบ subdomain
เวิร์ดเพรส, wordpress, multisite
เมื่อกดติดตั้งแล้ว ในหน้าจอควบคุมจะขึ้นคำแนะนำให้ทำตามอีกสามขั้นตอน
1. สร้าง folder “blogs.dir” ภายใต้ directory “wp-content”
2. เพิ่มข้อความเหล่านี้ลงใน wp-config.php
define( ‘MULTISITE’, true );
define( ‘SUBDOMAIN_INSTALL’, true );
$base = ‘/’;
define( ‘DOMAIN_CURRENT_SITE’, ‘feelthailand.com’ );
define( ‘PATH_CURRENT_SITE’, ‘/’ );
define( ‘SITE_ID_CURRENT_SITE’, 1 );
define( ‘BLOG_ID_CURRENT_SITE’, 1 );
เปลี่ยน “feelthailand.com” เป็นชื่อเว็บของคุณ หรือ copy ข้อความใน dashboard ไปใส่
3. เพิ่มข้อความเหล่านี้ลงใน .htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule . index.php [L]
เมื่อตั้งค่าเสร็จแล้ว ระบบจะให้เรา login ใหม่ เมื่อเข้าสู่ระบบเท่านี้เราก็พร้อมที่จะใช้งาน wordpress multisite แล้ว ดูจากรูปเราสามารถเข้าระบบจัดการของ network admin เพื่อสร้าง multisite ได้
เวิร์ดเพรส, wordpress, multisite

Plugin WordPress Multisite


   Plugin WordPress !!

สวัสดีครับวันนี้มาเข้าเรื่อง WordPress Plugin สำหรับ Roadmap นี้ Plugin ที่จะใช้ก็มีดังต่อไปนี้

- Enable Multi-site

- All in one SEO pack

- Better WordPress Google XML Sitemaps (with sitemapindex, multi-site and Google News sitemap support)

- WP Super Cache

- New Blog Defaults

- Multisite Recent Posts Widget

- WP Realtime Sitemap

- WPMS Global Content

**** Plugin ทุกตัวสามารถ Search ใน WordPress ของเราเองได้เลยครับผม ****

โห๊ยย มีไรมากมายเนี่ยตั้งหลายตัว 5 5 5 มันเป็น plugin ที่จำเป็นจริงๆครับ มาดูกันว่าแต่ละตัวมันทำอะไรได้บ้าง

- Enable Multi-site

ชื่อก็บอกครับมันเป็นตัว เปิด Multi-Site ให้แก่ Wordpess ครับปกติถ้าไม่ใช้ตัวนี้ก็ได้นะครับแต่ต้องเข้าไปยุ่งกับ Code นิดหน่อย

ซึ่งพี่กานต์ก็สอนผมละล่ะ แต่บอกตามตรงครับ …. ลืม แฮะๆ เอาน่ะไม่เป็นไร ใช้ตัวนี้ก็ได้เหมือนกันล่ะน่า

- เริ่มแรกก็ install มาเลยครับ จากนั้นก็ Active มันซะ

- ต่อมาไปที่ Menu Settings ครับก็จะเห็น Enable Multi-Site

- ผมจะเลือกให้เป็น Sub-Domain นะครับเพราะไม่เคยขายได้จาก Sub-directory บางคนก็ขายได้ เอ่ไม่รู้ทำไมเหมือนกัน

- พอกด install แล้วจะมีข้อความกรอบสีแดงขึ้นนะครับให้เราไปทำ Wildcat ที่ Subdomain ด้วยครับผม แล้วก็จัดการ Login อีกครั้งเป็นอันเสร็จสิ้น …..

Widecad ทำยังไง ? ก็เข้าไป add subdomain ใน host เราครับแล้วชื่อ sub ให้เป็น * ดอกจันทร์เปล่าๆนี่แหละครับเลือกให้ตรงกะ Domain เรานะครับ กำหนด path ให้ถูกด้วยแค่นี้ก็เป็นอันเสร็จสิ้นครับผม

- All in one SEO pack

ตัวนี้จะเป็นตัดจัดการ SEO onpage  ให้กับ Blog เรานะครับหากใครที่ลง multi site ไปแล้วให้เราเข้าที่หน้า Mysite ที่อยู่ด้านบนเลือก network admin นะครับถึงจะจัดการเรื่อง Plugin ได้ครับผมและคำสั่ง Active ก็จะกลายเป็น Network Active !! ซึ่งนั่นหมายถึงการ Setup ในแต่ละ Blog เราจะต้องมาเซตทุกครั้งครับ ดูท่าทางเหนื่อยเนอะ ลองทำกันดูก่อนครับ Roadmap นี้จะเป็นอะไรที่ใส่ใจที่สุดเท่าที่จะทำได้ครับ อันไหน ใช้ imacros ได้ก็ใช้ อันไหนใช้ไม่ได้ก็ใจทำ … ผลตอบรับไม่ผิดหวังแน่นอนครับ มาดูกันว่าต้อง Setup อะไรบ้าง

หน้า Settings > All in one SEO  เนี่ยจะอยู่ใน Setting ของแต่ละ Blog นะครับไม่ใช่ Network Admin นะ

- อย่างแรก Enable plugin ก่อนเลยครับ

- Home Title ,Home Description ,Home keyword  ตรงนี้ต้องใส่ให้ครบครับ

พอเสร็จเรียบร้อยก็ลงมา update option ซะเป็นอันจบครับ

- Better WordPress Google XML Sitemaps

แหม่ ชื่อนี่กวนประสาทสุดๆ แต่ก็นะผมว่ามันใช้ง่ายกว่าจริงๆครับในการสร้าง Sitemap ไม่ต้องไปสร้างไฟล์ให้ยุ่งยาก Plugin ตัวนี้ทำให้หมด ส่วนเจ้าหน้า sitemap เนี่ยเราก็เอาไปsubmit google,bing,ask ไม่ก็ search engine ต่างๆนะครับ ที่ผมชอบอีกอย่างนึงคือเวลา Blog เรามีการอัพเดทเนี่ย มันจะ ping เรียกบอทให้มาเก็บหน้า Sitemap ด้วยนะเออเจ๋งดีใช่มั้ยล่ะครับ

ส่วนการ setup นั้นก็ไม่มีอะไรมากครับแค่ active มันส่วนโดเมนที่เราจะใช้นั้นก็คือ

domain.com/sitemapindex.xml

ละเอาตรงนี้ไปโปรโมตให้บอทเข้าก็ได้ครับ <<< เดี๋ยวจะเอาไปเนียนใน Thaiseoboard ตรงลายเซ็นเหมือนเรียกบอทให้เข้าหน้าสะพานตลอดเวลา ฮ่าๆ

- WP Super Cache

ตรงนี้จะเป็น plugin ให้ WordPress ของเราทำงานได้เบาขึ้นครับ โหลดมาแล้วก็ network active ซะ จากนั้นเข้าไป Enable มันเท่านั้นเองครับ

- New Blog Defaults

Plugin ตัวนี้จะเป็นการ setup ในส่วนของ Settings ของทุก  Blog ที่เป็น Blog ใหม่ที่เราสร้างขึ้นมาครับ ลดขั้นตอนไปเยอะมากๆเลย

โหลดแล้วลงมือจัดการ setup ได้เลยครับผม

ผมลองอ่านดูแล้ว มันสามารถ ให้ plugin ตัวนี้ลบนู้นลบนี่ได้เลย เอ่ แต่เริ่มไม่แน่ใจกับ Title ครับว่าจะใส่หรือไม่ใส่ดี เพราะเคยใช้แล้วมันทำให้ Title ทุก blog ลูกของผมเป็น keyword นั้นๆหมดเลย คราวนี้เลยปล่อยว่างให้เป็นหน้าที่ของ SEO all in one ดูครับว่าจะเป็นอย่างไร

*** ตรงนี้ใครเคยมีประสบการณ์บอกผมด้วยนะคร๊าบบ ***

- Multisite Recent Posts Widget

ตัวนี้เวลา Blog ลูกของเราโพสปุ๊บ มันจะขึ้นมาตรง Widget เลยครับ เหมือนเป็นสะพานบอท ในหน้าแรกของ Blog แม่ครับและตรงนี้ทำให้ Blog ลูก index ไวขึ้นอีกครับถ้าหาก หน้าแรกแรงๆ โพสปุ๊บติดปั๊บ เวอร์มะๆ 555

Download ลงมา active ซะแล้วก็เข้าไปใน Widget จัดที่อยู่ให้เรียบร้อย ส่วนใหญ่ผมใช้โชว์ทีละ 20 blog  เลยล่ะครับเพื่อความรวดเร็วแฮะๆ

- WP Realtime Sitemap

หน้านี้ก็จะเป็น สะพานบอท อีกหน้านึงนะครับโดยที่จะเป็น html แล้วไม่ได้เป็น XML นะครับเราสามารถนำหน้านี้ไปโพส ไปโปรโมตเว็บได้เลยว่ารายละเอียดมีอะไรบ้างในเว็บเรา Plugin ตัวนี้จะทำหน้าที่รวม Link ให้เรียบร้อยเลยครับผม

ส่วนวิธีใช้ หลังจากที่เรา download และ active แล้วนะครับให้เราไปสร้าง page ขึ้นมาหน้านึงครับแล้วใส่ ข้อความในโพสว่า

[wp-realtime-sitemap]

แล้วก็เซฟซะ พอเราไปเปิดหน้า page นั้น plugin ก็จะแสดง link ในเว็บเราให้เห็นเองครับผม

และอีกอย่างที่ขาดไม่ได้เลยครับนั่นคือตัวที่ทำหน้าที่วาง code สำหรับเก็บ statนะครับในส่วนนี้ผมใช้ Plugin ครับชื่อว่า

WPMS Global Content

แหม่ อ่านแล้วทำไมผมรู้สึกมันยิ่งใหญ่ยังไงไม่รู้ 555 WordPress Multi-Site Global Content ตรงนี้เราสามารถส่งข้อความหรือใส่ html code ไปยัง Blog ลูกให้มันแสดงในส่วนของ Header หรือ Footer ก็ได้ครับ และตรงนี้แหละที่ผมเอามาวาง Stats Code นะครับตอนนี้ยังลังเลว่าจะใช้ของเจ้าไหนดีแฮะๆ

คำสั่ง linux

ดาวโหลดไฟล์จาก url
wget url

แตกไฟล์
unzip filename.zip

ลบทุกอย่างใน folder
rm -rf *

Delete / Remove a Directory Linux Command
rmdir /tmp/docs

Saturday, June 29, 2013

การติดตั้ง Multi DB สำหรับ directadmin

อันนี้มาจากปัญหาที่หลายคนเคยชินกับการใช้ cpanel ในการสร้าง multi database พอมาใช้ directadmin บ้าง ไม่สามารถสร้างแล้ว ผมก็เลยหาวิธีมาทดลองและก็ทำ ซึ่งมันได้ผลดีครับ

ข้อจำกัดนะครับ ต้องเป็น vps ที่ใช้ directadmin นะครับ ส่วน share host นี้ไม่ทราบเหมือนกันยังไม่ได้ลอง

ดาวน์โหลดไฟล์
16  DB: http://db.tt/bwPfzeS
256 DB: http://db.tt/eOx0k7z
4096 DB: http://db.tt/ddO2bve
All : http://db.tt/IjlpN9x

วิธีติดตั้ง
1. แตกไฟล์เสร็จเข้าไปในโฟเดอร์ก็จะพบทั้งหมด 4 ไฟล์ครับ
(Creatxxx.txt, db.php, db-config.php, moveblogs.php)

2. สร้าง new database 16 databases
 เปิดไฟล์ Creatxxdb.txt ด้วยโปรแกรมแก้ไข text และแทนที่คำว่า userdb เป็น admin_xxxxxdb
หมายเหตุ admin_xxxxx = database name

3. แล้วเข้าไปที่ phpmyadmin เข้าไปที่เมนู SQL แล้วนำที่แก้ไขไปวางไว้แล้วกด Go ได้เลยครับ
หมายเหตุเนื่องจาก directadmin การ control สิทธ์การเข้าใช้งานจะต่างจาก Cpanel การเข้าด้วย user ต่างๆไม่ว่าจะเป็น admin , userของ database เองจะไม่สามารถสร้าง database ใหม่ได้ต้องใช้ user da_admin เท่านั้น

วิธีการหา user password ของ user da_admin คือ
เปิด ssh ขึ้นมาแล้วเข้า mysql ซึ่งจะไม่ขออธิบายในที่นี่
ใช้คำสั่ง >cat /usr/local/directadmin/conf/mysql.conf

4. แก้ไขไฟล์ db-config.php แล้วแก้ไข ip 50.22.66. เป็น ip ของ host ที่ใช้
เช่น ip host : 111.222.333.444 เอามาแค่ 111.222.333. (อย่าลืม dot ปิดท้าย)
ถ้าหากไม่รู้ ip ก็ลอง ping domain.com ดูครับ

5. แก้ไขไฟล์ db-config.php เหมือนเดิมโดยเปลี่ยน
dbname เช่น admin_xxxxxdb_global
username db เช่น admin_xxxxxuser
password db เช่น xxxxxxxxxxx

6. แก้ไขไฟล์ move-blogs.php
$dbname = "admin_xxxxxdb";
$blog_table_prefix = 'wp_';
$newdb_prefix = 'admin_xxxxxdb_';
$dbhost = 'localhost';
$dbuname = 'da_admin';
$dbpass = 'T12xxrTFGO';

7. อัพไฟล์ขึ้นโฮส
db-config.php และ db.php อัพไว้ที่ wp-content
move-blogs.php อัพไว้ที่ root wordpress (domain.com/move-blogs.php)

8. แล้วทำการ move-blogs โดยเปิดไฟล์ domain.com/move-blogs.php


* คำสั่ง drop database xxxx; ทำใน ssh mysql ไม่สามารถทำที่ directadmin ได้
xxxx = databasename

การสร้าง ฐานข้อมูลใน directadmin

ใน phpmyadminไม่สามารถสร้าง database ได้ ยกเว้นใช้ user   da_admin ครับ
user   da_admin ครับ  password ดูได้จากไฟล์ /usr/local/directadmin/conf/mysql.conf

หรืออีกวิธี เขียน api เข้าไปสร้าง database เอาครับ

ตัวอย่าง (เขียนไว้นานแล้ว แต่น่าจะยังใช้ได้ครับ)

function create_db($i){
$url = 'http://ip:2222/CMD_DB';

$ch =curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_USERPWD, 'dausername:dapassword'); // user , pass ของ da
 curl_setopt ($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);
 curl_setopt ($ch, CURLOPT_POSTFIELDS, 'domain=mydomain.com&action=create&name='.$i.'&user='.$i.'&passwd=123456&passwd2=123456');
 $res = curl_exec ($ch);
curl_close ($ch);
}


ลองเอาไปปรับใช้ดูครับ  เวลาสร้างก็เรียก create_db('0');   เลข 0 นั้นก็เปลี่ยนไปเรื่อยๆ เช่น  0 , 1 , 2