Set up phpeclipse for WordPress on Fedora 16

This time we are going to set up phpeclipse to create a Theme for WordPress on Fedora 16. WordPress is installed at our localhost.

We are creating a symbolic link to our workspace. With this configuration, we can change the code on the fly without pushing the code to wordpress every time.:
mkdir -p ~/workspace/themes/mytheme
sudo ln -s ~/workspace/themes/mytheme /usr/share/wordpress/wp-content/themes/mytheme

Install phpeclipse:
yum -y install eclipse-phpeclipse

Start eclipse:
ALT+F2 eclipse
select the workspace as default and click ok.
click: File-New-Project-PHP-PHP Project-Next-mytheme-Finish

Now we are ready to begin with our new theme.

Install WordPress on Fedora 16

Here are the steps to install wordpress with a fresh Fedora 16:

Get super user rights:
su -

Install mysql-server:
yum -y install mysql-server

start your mysql database:
service mysqld start

connect your mysql client with your mysql server:
mysql -u root

Configure your wordpress mysql database (use your own username and password):

mysql> create database wordpress;
Query OK, 1 row affected (0.00 sec)


mysql> grant all privileges on wordpress.* to wordpress@localhost identified by 'wordpress';
Query OK, 0 rows affected (0.00 sec)


mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


mysql> exit

Install WordPress:
yum -y install wordpress

Edit /etc/wordpress/wp-config.php and change database_name_here, username_here and password_here to the values you provided in the grant sql statement above. Here it would be ‘wordpress’ all three times. The beginning of the config file looks like this:

define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpress');


/** MySQL database password */
define('DB_PASSWORD', 'wordpress');


/** MySQL hostname */
define('DB_HOST', 'localhost');

The wordpress package installed a httpd config file at /etc/httpd/conf.d/wordpress.conf the following:

Alias /wordpress /usr/share/wordpress

Start your Apache:
service httpd start

Access wordpress at http://localhost/wordpress in your browser. Follow the installation instructions.

Login -> voila

Enforce https

If you want to enforce the users of your Apache server to use https instead of http, you can write a Rewrite which works without the mod_ssl module.
The Rewrite is stored either in your httpd configuration or in a .htaccess file.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301]

Sometimes you run into problems with authentication systems which are configured in a .htaccess file too. This leads to double authentications which you want to avoid because the first authentication works through http (which is bad enough), then the rewrite is putting you to https and you have to authenticate again.
To avoid this, you can store the configuration of the authentication system into your ssl httpd configuration in a directory tag. This ensures that the user of your web-server when landing on http does not have to authenticate but will be placed to https and have to authenticate there.

If you do not have access to the ssl configuration you might want to test out

SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq "http://yourservername"
ErrorDocument 403 https://yourservername

in your .htaccess file. I have to admit i didn’t test the SSLRequireSSL option by myself, but it worked for some people.

For more information about Rewrites, .htaccess files and ssl support, have a look at the Apache httpd documentation

php-gtk rpm

I created a rpm for php-gtk-2.0.0-0 .

Thanks for advice to Harald Hoyer

You need  php-gd for php-gtk.

yum -y update php-gd

If you installing this rpm, be sure to load the php-gtk extension in with

$ echo extension=php_gtk2.so > /etc/php.d/php-gtk.ini

note: your apache won’t work with this extension loaded.

I am working on a way to load this module only when the cli of php is used.

Download:

Source rpm:
php-gtk-2.0.0-0.alpha.1.src.rpm

Fedora 6 i386 :
php-gtk-2.0.0-0.alpha.1.i386.rpm

debuginfo:
php-gtk-debuginfo-2.0.0-0.alpha.1.i386.rpm

Further information:

http://gtk.php.net/