If you can not find the answer here, feel free to contact our support!
Install Docker from https://docker.com.
Setup filestructure on you Docker host as shown in https://github.com/osomanden/noah
Remember to set required root password, username and password in .env file. Do not alter host and database.
On your docker host, run command: docker run -dti
Goto your {hostname}:30001 and login with admin and r0dgr0d.
chmod -R 0775 /var/www/html/ && chown -R www-data:www-data /var/www/html/
create database gnf_noah
mysql dump gnf_noah.sql
install these extensions (and enable them in php.ini if not done automatically): mysqli soap openssl gd pdo_mysql bcmath curl exif gettext gmp iconv imap json ldap mbstring session
apt-get install php-common php-mysqli php-soap php-gd php-bcmath php-curl php-exif php-gmp php-iconv php-imap php-json php-ldap php-mbstring
U*ix (debian/CentOs/RedHat aso) installed with internet access.
Webserver (Apache2/Lighttpd)
php version 7 release - latest (https://php.net) - make sure it is php avare: apt-get install php libapache2-mod-php
mysql server version 8 (https://mysql.com)
Optional: MariaDB server (recommended for speed and functionality additions) (https://mariadb.org)
unzip (#apt-get install unzip)
Note: as of version 1.72 rel. 5, Noah is supporting PHP version 7 - and mcrypt is replaced with openssl module.
Below modules are to be replaced with php- instead as this gives the latest version.
copy/rename the dist-config.php file to config.php
If you have not created an mysql-user yet, in mysql cli, alter the below commands and execute:
CREATE USER IF NOT EXISTS 'noah-user'@'localhost' IDENTIFIED BY 'r0dgr0d';
GRANT ALL PRIVILEGES ON *.* TO 'noah-user'@'localhost';
FLUSH PRIVILEGES;
Edit the config.php and alter the db_host, db_name, db_user and db_password
Note: the Docker version of Noah (osomanden/debian-noah) (https://hub.docker.com/repository/docker/osomanden/debian-noah and https://github.com/osomanden/noah) gets the db info from .env file.
Do not alter the config.php file in the docker container!
Use the install.sql from the /install path to create the new Noah Database
cd install
mysql -u<noah-user> -p gnf_noah < noah_install.sql
go to upgrade path and run the command:
cd upgrade/
php upgrade.php
for the latest database version
PHP.INI
Note: some versions of .ini needs some alterations to avoid errors.
CentOS / Debian:
; error_reporting
; Default Value: E_ALL & ~E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ~E_DEPRECATED
and
short_open_tag = On
MySql
In some cases mysql is set to STRICT on basic installation.
Optional remedy: https://stackoverflow.com/questions/35287846/mysql-default-value-errors-on-new-server
var/ directory
In some cases it is not enough to alter rights or ownership on var/ directory as stated. Noah will still provide an error like this:
The '/var/www/html/var/' folder - and folders in that folder - needs to be set to writeable to apache. In unix, chmod -R 775 var/. System has stopped!
The solution so far is: chcon -R --type httpd_sys_rw_content_t /
CentOs specifics:
mb_internal_coding() is per default NOT installed!
[root@centos-s-1vcpu-1gb-ams3-01 www]# yum install php-mbstring
To fix Apache write access:
[root@centos-s-1vcpu-1gb-ams3-01 www]# cd /var/www/
[root@centos-s-1vcpu-1gb-ams3-01 www]# cd html/
[root@centos-s-1vcpu-1gb-ams3-01 www]# chown apache:apache -R html/
[root@centos-s-1vcpu-1gb-ams3-01 www]# cd html/
[root@centos-s-1vcpu-1gb-ams3-01 html]# find . -type f -exec chmod 0644 {} \;
[root@centos-s-1vcpu-1gb-ams3-01 html]# find . -type d -exec chmod 0755 {} \;
[root@centos-s-1vcpu-1gb-ams3-01 html]# chcon -t httpd_sys_content_t /var/www/html/ -R
[root@centos-s-1vcpu-1gb-ams3-01 html]# chcon -t httpd_sys_rw_content_t var/ -R