Installation & Updates¶
Download & Requirements¶
You can download the latest version of GenIECMS by using the official download link:
Please note that the above link will onlu download the source code for the GenIE-CMS. If you need to download the parsing scripts, you need to download it here.
If you prefer using the terminal please run to download both the CMS and parsing scripts:
git clone --recursive https://github.com/irusri/GenIECMS.git
Requirements
- Apache 2 with URL rewriting (mod_rewrite) or nginx
- PHP 5.4+
Installing GenIECMS on a Mac¶
Most Mac users will probably try GenIECMS with MAMP.
Installing MAMP
Installing MAMP is just a matter of downloading the app from the MAMP website and running the installer. It will install a MAMP app in your Applications folder.
By starting the MAMP app you are also starting your Apache and MySQL server. You should now be able to reach your local server at http://localhost:8888
.
Download GenIECMS
Copy GenIECMS to MAMP Web server
You will find the source of GenIECMS in your download folder. So you just need to Copy GenIECMS folder into corresponding ~/Applications/MAMP/htdocs/
folder.
That is basically what you need to do in order to install GenIECMS on your Mac’s local server. You should now be able to access it at: http://localhost:8888/GenIECMS
in your browser.
Update configuration file¶
We should update the settings file(GenIECMS/plugins/settings.php
) right after the installtion. Especially the base URL depending on your webhost. For example:
/*Define your base url with trailing slash*/
$GLOBALS["base_url"]='http://localhost:8888/GenIECMS/';
OR
$GLOBALS["base_url"]='http://localhost:3000';
Next, we need to create a MySQL database and load our data.
Troubleshooting¶
GenIECMS can easily be installed without an effort. Unfortunately there is always space for problems due to multiple server setups and PHP versions. In this section, we try to answer most frequent issues in order to install GenIECMS as effortless as possible. Please send us an email if you still get trouble with installation or updates: contact@geniecms.org
Subfolder permissions
Web server runs in a different group than your user account on most servers. Following subfolder permissions will necessary to grant write access from GenIECMS.:
chgrp -R www-data GenIECMS
chmod -R 775 GenIECMS/genie_files
Please make sure that the root folder is also readable by the webserver.
Broken subpages
Whenever you have problems(can not open or a server error) with subpages, you can try following steps.
- Make sure that the .htaccess file is present inside GenIECMS folder.
- mod_rewrite should be enabled on your server.
- You need to check the .htaccess. You can test this by adding some extra characters into your .htaccess. If this cause an “Internal Server Error”, the file gets loaded. Otherwise, you need to enable AllowOverride all in your Web server configuration file. An example of
GenIECMS/.htaccess
file shown below.
RedirectMatch 403 ^.*/genie_files/
ErrorDocument 403
RewriteEngine on
Options -Indexes
ServerSignature Off
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1#%{REQUEST_URI} ([^#]*)#(.*)\1$
RewriteRule ^([^\.]+)$ %2?page=$1 [QSA,L]
ErrorDocument 404 /notfound.html
Please make sure that you are using the PHP 5.4 or higher.
More problems?
Please contact us:contact@geniecms.org
GenIECMS updates¶
Manual updates
GenIECMS can be updated manually using latest ZIP file from GitHub. Please backup your older version of GenIECMS/plugins/settings.php
and GenIECMS/genie_files
before you do the latest update. First unzip the genie.zip file from your download folder and move into the Web Server server. Finally copy the GenIECMS/plugins/settings.php
and GenIECMS/genie_files
into latest version of GenIECMS.
Updates using Git
Here is the easy way to update GenIECMS using git submodules:
cd GenIECMS
git checkout master
git pull
git submodule foreach --recursive git checkout master
git submodule foreach --recursive git pull
Docker installation¶
For Developers and Contricutors
# Please comment the supporting_files/run.sh line to avoid download the geniecms.git
git clone https://github.com/irusri/docker4geniecms.git
cd docker4geniecms
git submodule add -f https://github.com/irusri/genie.git
docker build -t genie -f ./Dockerfile .
docker run --rm -i -t -p "80:80" -p "3308:3306" -v ${PWD}/genie:/app -v ${PWD}/mysql:/var/lib/mysql -e MYSQL_ADMIN_PASS="mypass" --name genie genie
cd genie
When we need to commit changes, please go to cd docker4geniecms/genie
folder. Never commit from docker4geniecms
folder. Because it will add genie as a submodule. Incase you mistakenly pushed from docker4geniecms
folder, please cd docker4geniecms
and git rm genie
. You can access MySQL using mysql -u admin -pmypass -h localhost -P 3308
or using phpMyAdmin. Some useful docker commands are as follows.
# Must be run first because images are attached to containers
docker rm -f $(docker ps -a -q)
# Delete every Docker images
docker rmi -f $(docker images -q)
# To see docker process
docker ps -l
# To see or remove all volumes
docker volume ls/prune
# To run bash inside the running docker container
docker exec -it 890fa15eeef6126b668f4b0fcb7a38b33eaff0 /bin/bash
or
docker attach 890fa15eeef6126b668f4b0fcb7a38b33eaff0
Now we can start the real development and push changes into genie.
Running from Command Line¶
If you want to use PHP’s built-in server (not recommended), just use following lines to install GenIECMS. This is only for the initial test installation, in order to make a full functional website you have to install Webbserver package such as MAMP or LAMP.
git clone --recursive https://github.com/irusri/GenIECMS.git
cd GenIECMS
php -S localhost:3000
You should now be able to access GenIECMS at: http://localhost:3000
in your browser.