I’m creating a website as a favor to a friend. To save effort, I’m just doing the development on my Windows computer. While doing that, I ran into a little issue with permalinks that seems to be unique to how EasyPHP is configured.
While I won’t go into much detail on the subject, I re-affirmed the fact that WordPress is as close to as ideas as one can get when wanting to setup a basic website. I tried out probably 10 open source CMS systems and found them too complex (the admin back-ends) or too buggy to be used. Keep in mind that the website I am setting up requires only basic functionality (informational pages, a image gallery, good admin, stable code), which is what I am basing my opinion off of.
What brings me to my post today is that I used EasyPHP(a simple Apache, MySql installer and admin) to act as the local web server for testing.
I was having issues with getting permalinks working. There was one gotcha that doesn’t apply to other webserver installers.
What I did to make it work:
Edit the Apache httpd.conf file (right click on the tray icon, select Configuration and then Apache):
Uncomment this line by removing the # in front of it:
LoadModule rewrite_module modules/mod_rewrite.so
Search for <Directory /> and then make sure that “AllowOverride All” is “All” and not “none.” Also make sure that “Allow from All” is not “Deny from All”
<Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Allow from all </Directory>
For whatever reason that Deny from all is set, which took me a while to figure out and change. All of the related guides on the internet were using different installers, that don’t have the same issue.
Edit: I noticed that changing that makes some of the EasyPHP functionality inoperable… might be looking for a different setup.
I’ve used linux/unix quite a bit over the years. Probably my first experience with Linux was when I bought a magazine in the 90′s that had Mandrake linux on CD. Since then I’ve used distributions from Slackware to Ubuntu, but never really had a desire to do much with the OS once I had it running, so it just usually sat on my harddrive.
I have recently been reminded why I was never interested in using *nix exclusively. Don’t get me wrong here, I think the concept of free open-source software operating systems is great.
Let me go over a scenario to explain my thoughts:
Goal: Setup Debian Linux so that I can test my software. I specifically want to use a VMWARE appliance so that I don’t have to mess around with my current OS. (Edit: I’ve since switched over to Sun’s VirtualBox software, which is much better than the free version of VMWARE).
Time spent: Too long in my opinion…
Some general notes for myself on how to get the OS setup as I need it:
*. Use the synaptic package manager to install PostgreSQL, POSTGIS, and MONO. Attempt to use PostgreSQL with no success because permissions are difficult to understand by default.
*. Somehow figured out that I need to su into “root”, before I can su into the “postgres” account, before I can run “PSQL” before I can create a user, before I can create a database and/or configure something to get a table with POSTGIS extensions loaded. The documentation online doesn’t seem to explain this process from step 1. (The point of this complexity is what? Security?)
*. Or add a root password to the postgres account by “su postgres” from root, “psql -d template1″ to startup the psql program, and running “ALTER USER postgres WITH PASSWORD ‘VALUE’; ”
*. When in doubt put sh in front of a command. I wanted to restart the Postgre server after installing add-ons it seems that I need. Every online tutorial I found didn’t work. I navigate to /etc/init.d/ and then executed “sh postgresql-8.3 restart” which worked. For whatever reason I needed to have sh in the command.
*. The command “createlang plpgsql template1″ needs to be executed under postgres before a POSTGIS template can be created. Remember to restart the server afterward, and also you must create the table after doing that command, not before.
*. When creating a table in the GUI Postgre admin program you need to specify that it uses “template1″ otherwise when executing “psql -d postgis_template -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql” you will received errors saying that a language can’t be found. One plus of Debian is that the Postgre admin application can be installed easily in their add/remove programs tool.
If my goals were different here, I would actually prefer Linux. Say I wanted to setup a server without a GUI or something that’s accessible from the outside world and required a good deal of security. All of this would be just fine.
Surely there must be a smarter way to design things for the needs of workstation tasks as well as tasks that require high security…
I was due for a site software update, so I decided to modify the site as a whole. My main goal was simplification and to improve on usability. As I went through the visual-template code, I also attempted to improve execution speed by minimizing include files and removing unnecessary features.
1. Minimize the website banner to remove wasted space (logo redesign as well).
2. Remove unpopular items from the site such as the forums.
3. Reorder the site tags, recent postings, and other navigation links to improve on ease of use.
4. Lessen the use of colors on the site.
5. Clean up the footer area.
I’ve noticed that the site seems to load faster in general. I suspect something like that XML parser for the forum was decreasing overall speed quite a bit.
I’ve been working on a personal project with a friend for quite a while now. To make a long story short it deals with loading/editing/saving large quantities of public geographic data. Lately we have been throwing around the idea of having our database server’s OS in Linux instead of Windows 2000.
Which brings me to the MONO project. I’ve started testing some code I wrote in C# (a console application that accesses the Internet) by using that MS Virtual PC program I setup in my previous posting with Xubuntu. While my current goal changed a bit, I’m glad to start getting some use out of it. Basically, all I needed to do was install the mono run-time libraries and I was good to go. Now keep in mind that some Linux distributions might only have older versions of MONO available by way of a package manager (or pre-install). In this case you should see if your .NET application requires something that the available version of MONO does not have by visiting the mono project website. Otherwise you need install MONO from source (search google for a tutorial, I’ve seen at least one).
I have had one issue so far in how I wrote my application. File paths are of course difference between Windows and Linux. The issue that I’m looking into has to deal with the path separators \ and /. I currently have the program hard coded to take a path specified and append a \ between that and a filename. In linux this doesn’t work properly, so the path and filename are a bit screwed up. More specifically if I specify /home/username/Desktop, the program will save into /home/username with a filename of /Desktop-filename.ext… I’ll update this or make a new posting once I figure out how to fix that.
EDIT: This page on the mono site details about path separators.
“To write portable software, you must make sure that you use the System.IO.Path.DirectorySeparatorChar (System.IO.Path.DirectorySeparatorChar) character when you must concatenate paths, or even better, use the System.IO.Path.Combine (System.IO.Path.Combine(string,string)) method to combine pathnames.”
All that being said, I noticed on go-mono.com that they offer a VMWare file that has the latest version of MONO pre-installed on OpenSUSE Linux. I’m currently in the process of downloading the ISO and the VMWare Player and will see if it is any better than Virtual PC with Xubuntu that I’m currently using.
2nd EDIT: Started trying out VMWare and the MONO SUSE Linux image. It’s much much better than Using the MS VIrtual PC program. So I suggest you go that route if you are interested in trying something similar.
3rd EDIT: Sun VirtualBox looks like a good program to use too. It’s freely available and seems to have more features than the free VMWare does.
I’m impressed with MONO so far!