Get Social

Selecting a CMS for a business card site

Strangely enough, I started my expirience with CMS via drupal (later I learned that it was also CMF), then I got expirience with WordPress. Now, when again it is necessary to make a new project, I wanted to expand my expirience with CMS and decided to do the following.
There are a lot of recommendations on the web that take as a basis for a business card site – from static html to monsters like joomla. I decided to just take 4 different CMS (which I’m not familiar with) and install them on the VPS. I’ll choose the one that will immediately like.

We make preparations (the domain has already been registered in advance). Let’s agree that MY-NEW.DOMAIN is the domain name.

cd /var/www/
mkdir {getsimple,hostcms,joomla,dle}-MY-NEW.DOMAIN

Download all CMS:
wget http://get-simple.info/dreamhost-pickup/GetSimpleCMS_3.3.0.zip
wget http://www.hostcms.ru/download/6/HostCMS.Free_6.1.tar.gz
wget http://joomlacode.org/gf/download/frsrelease/18934/133835/Joomla_3.2.0_Full_Package_Russian.zip
wget http://dle-news.ru/files/dle10.0_trial.zip

Extract to the appropriate directories:
unzip -d getsimple-MY-NEW.DOMAIN/ GetSimpleCMS_3.3.0.zip
mv getsimple-MY-NEW.DOMAIN/GetSimpleCMS-3.3.0/* getsimple-MY-NEW.DOMAIN/
rmdir getsimple-MY-NEW.DOMAIN/GetSimpleCMS-3.3.0
tar -xz -C hostcms-MY-NEW.DOMAIN/ -f HostCMS.Free_6.1.tar.gz
unzip -d joomla-MY-NEW.DOMAIN/ Joomla_3.2.0_Full_Package_Russian.zip
unzip -d dle-MY-NEW.DOMAIN/ dle10.0_trial.zip

Set privileges:
chown -R nobody:nogroup {getsimple,hostcms,joomla,dle}-MY-NEW.DOMAIN

Now we edit Apache config file:
nano /etc/apache2/conf.d/MY-NEW.DOMAIN.conf

——————————————
<VirtualHost *:80>
ServerName MY-NEW.DOMAIN
ServerAlias www.MY-NEW.DOMAIN
DocumentRoot /var/www/MY-NEW.DOMAIN # this line will be changed for each CMS
<Directory "/var/www/MY-NEW.DOMAIN"> # and this line will be changed for each CMS
AllowOverride All
Order deny,allow
Allow from all
AddHandler application/x-httpd-php .php .html
</Directory>
</VirtualHost>

——————————————

Apply config changes with apache process:
apachectl graceful

We create a database (for DLE example) for those CMSs that need it:

mysql -u root -p
CREATE DATABASE dleuserdb;
GRANT ALL PRIVILEGES ON dleuserdb.* TO "dleuserdb"@"localhost" IDENTIFIED BY "dleuserdbpass";
FLUSH PRIVILEGES;
EXIT

So which CMS to choose for a business card site? Notes.

— GetSimpleCMS —

Works without Mysql and uses xml format for data storage. What else do you need for a business card site? Indeed, it is very simple. When the files are uploaded, go to the link:
http://MY-NEW.DOMAIN/admin
Following the prompts, install the CMS (I had to change the rights to the folders data and backups, as well as install the php5-gd and php5-curl packages to get the gd library and cURL support).

— hostcms —

Immediately starts the installer. Appearance – I liked. Further, it asked to accept an agreement where one of the items is the obligatory placement of a link to the official website … (3.4. A user of a free edition of the Software product is required to place an active, indexed and visible hyperlink on each site using the Software Product site management HostCMS» to the website of the Vendor http: slashslashwwwpointhostcmspointru in the global Internet.) Somehow I did not like it … Well, we go to the end. Click “Next” (I did not install xslt support, set it: aptitude install php5-xsl; I also had to change the permissions on the file: modules/core/config/database.php and to the folder: hostcms-user.pp.ua/hostcmsfiles/tmp)

— dle —

After I transferred the contents of the subfolder upload to the root folder of the site, I immediately got into the installer. All that needed to be done later was to disable output buffering. To do this, open the php.ini file and put the value of the parameter: “output_buffering = Off” and also change the permissions on some files and folders with the chmod command.

— joomla —

I just didn’t get around to CMS Joomla.

upd (12.12.16). and I’ll get not around to it…

How quickly make a blog on WordPress?

Only few steps need to install wordpress on clean / new server.

[Step 1] Choose a domain name for your blog.

This step includes think of a name and choose a domain name registrar provider.
Comparing domain registrars, we must remember that cheap does not always mean really cheap. It may be an extension of 2-year is much more expensive. Maybe it is necessary to order additional services such as hosting.

[Step 2] Choose and install a CMS for your blog.

I chose between Drupal and WordPress. Because I already dealt with Drupal 6th and 7th version, I decided to extend the experience and install WordPress. I’m going to start wordpress.org and start discover wordpress. Next, follow the instructions to put the engine on your web server (I prefer Debian GNU / Linux as the platform).

cd /var/www/

(current version at the official wordpress site is always available via the link https://wordpress.org/latest.zip or https://wordpress.org/latest.tar.gz):

wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
mv wordpress mynewblog.com

[Step 3] Now – create MySQL database:

mysql -u root -p
 CREATE DATABASE blogdb;
 GRANT ALL PRIVILEGES ON blogdb.* TO "user"@"localhost" IDENTIFIED BY "pass";
 FLUSH PRIVILEGES;
 EXIT

Do not forget to set up connection for the WordPress, as indicated in its manual (it is clear that the name of the database, database user name and password you need to specify your own).

[Step 4] After that edit Apache config:

nano /etc/apache2/conf.d/mynewblog.conf

Add here:

<VirtualHost *:80>
   ServerName mynewblog.com
   DocumentRoot /var/www/mynewblog.com 
 <Directory "/var/www/mynewblog.com">
   AllowOverride All
   Order deny,allow
   Allow from all
   AddHandler application/x-httpd-php .php .html
 </Directory>
</VirtualHost>

Graciously ask Apache to reread configuration files:

apachectl graceful

[Step 5] What is the result?

Now you may follow url, like http://mynewblog.com and customize the interface of the CMS under your new blog needs.


P.S. For better security of your web server, you can configure Apache to run as a different user:

# install multiuser MPM for Apache
aptitude install apache2-mpm-itk

# change wordpress filse owner
chown -R nobody:nogroup /var/www/mynewblog.pp.ua/

# permit wp-content directory writing privileges to group
chmod -R g+w /var/www/mynewblog.pp.ua/wp-content

Then add in the Apache config file the following lines (and restart it again):

<Directory "/var/www/mynewblog.pp.ua">
  ...
  AssignUserID www-data nogroup
  ...
</Directory>
Pages:12