Showing posts with label wordpress. Show all posts
Showing posts with label wordpress. Show all posts

Saturday, October 21, 2006

step-by-step: how to host WordPress under Linux (FC5/RHEL4)

Why:
  • on Blogger: missing certain nice features ( static page support, import/export). Or,
  • on WordPress.com: don't like your own html get stripped off. Your little piggy-bank gets left empty since Google Adsense code get stripped or disabled. Or,
  • want your own professional domain name and such. Or,
  • simply love the experience of DIY and the freedom of customization
Assumptions & Prerequisites:
  • Fedora Core 5 stock installation (All should be applicable to CentOS 4 or RHEL 4 as well, unless the FC5 SELinux changes get in your way.)
    • apache (httpd package) installed.
    • php package installed.
    • mysql-server package installed.
  • The stable release (latest.tar.gz) has been downloaded from wordpress.org and extracted under /var/www/html
  • comfortable with MySQL and SQL commands.
  • starter's knowledge of how a blog works.
Steps to follow:
# set up MySQL access
This is to set up a MySQL database dedicated for WordPress and a user to access this database from the Apache/PHP combo. The schema and data for the database itself will be populated by install.php later. The names used below assume you want user 'wp_master' to have all access to a local database named 'wordpressDB'.
  • /etc/init.d/mysqld start
  • /usr/bin/mysqladmin -u root password 'mysqlAdminpassword'
  • /usr/bin/mysqladmin -u root -p create wordpressDB
  • mysql -Uroot -p mysql
    • insert into user (host, user, password) values ('localhost', 'wp_master', password('mastersecret'));
    • insert into db (host, db, user) values ('localhost', 'wordpressDB', 'wp_master');
      • the 'db' table entry should also grant the 'wp_master' user with most of the privileges to the 'wordpressDB' . So, I simply replaced the 'test' database entry therein, since I am lazy, plus I consider a wild-open test db a security risk.
      • update db set host='localhost',db='wordpressDB',user='wp_master' where host='%' and db='test';
    • commit;
    • restart mysqld by '/etc/init.d/mysqld restart'
# set up MySQL PHP extension support (Otherwise you may get this error, "Your PHP installation appears to be missing the MySQL which is required for WordPress. ")
  • yum -y install php-mysql
  • /etc/init.d/httpd restart
# to set up wp-config.php with your own set of credentials for WP to use to access MySQL
cd /var/www/html/wordpress && cp wp-config-sample.php wp-config.php && vi wp-config.php
# RTFM using your favorite browser

point to your browser to http://localhost/wordpress/readme.html

# initialize/populate your new WP database. Do record the 'admin' account information generated.
point to your browser to follow http://localhost/wordpress/wp-admin/install.php

# Now, time to verify. If it worked, you'd see the default 'hello world' post using the 'default' theme.
point to your browser to http://localhost/wordpress/index.php

# to customize the blog right away, click on 'edit' link inside the blog and log on with the 'admin' account

# about them themes:
Only two themes are bundled (classic/default). To add a theme, find ones you like and download from a trustworthy source.
  • wget http://downloads.wordpress.org/theme/pool.zip
  • cd /var/www/html/wordpress/wp-content/themes && unzip pool.zip
  • Now the new theme(s) would just show up if you go back to edit/presentation/themes
# Get them roamers home
  • import existing blogs and comments from Blogger and other top blog sites.
  • if new, register this new blog with technorati.com, weblogs.com
  • new or updated, brief your readers of the changes [advance notice would be appreciated too]

Wednesday, October 11, 2006

face lift :: switched to Blogger beta


Experimenting a blog on Wordpress.com, I liked many features. Yet to find time to try the open-source blog hosting software itself from wordpress.org. However, I was very disappointed to find Wordpress.com strips down the Wordpress blog software. Even html code to insert a Google adsense ad for Firefox was stripped out. Blogger has great support for adsense and such. However, it doesn't do static page. It is pretty desirable to have static page to hold, say, some static contents.

Sigh, do I really have to host my own? As a systems engineer by trade, I really don't need the hassle of hosting. Only if I can get the features I need for free. Only if Blogger can do 'page' to hold semi-static content.

Why not?! I googled for it. Among the first links, I found a link to 'Blogger beta' talking about new features with widgets and such. Click through and end up switched this blog to the new Blogger BETA.

Changes that met my eyes are:
  • blogger account is now assimilated to your google account
In other words, now Blogger is yet another Google service, side by side with Gmail, calendar, maps, search, spreadsheets, and such.
  • Template is now widgetized:
    • Pros: You move blocks (widgets) around on a page layout. I guess they copy the behavior of WordPress. I got to say it is such a nice feature.
    • Pros: Arbitrary html/javascript can be used to create a widget of your own.
    • Cons: A custom widget should have an extra label of sort so you can distinguish which is which on the page layout when you come back to edit. Currently, it only has a title, which is displayed on the actual blog. Imagine if you have more than one custom widgets.
    • Cons: Ad-sense widget couldn't be added, generating some error. I wonder if it is because my adsense account has different password. Search-box html code copied to a custom widget doesn't work quite right either. In fact, you can see a text ad link on top of my blog and a image ad link on the right column. I didn't asked for the top link! == as always, Google has wisely branded it as 'BETA'.
  • access control is in place, replacing the current membership. Yet another feature copied from WordPress, I assume.
    • authors can be added to co-own the blog
    • access can be changed from Public (the default) to private