Follow these steps to clone your very own zenode instance. It takes 10 minutes and all you need is a UNIX system.
This is the simplest and fastest way to install zenoda, the following system configuration is not necessarily the most secure one!
# For Arch based systems
$ sudo pacman -S nginx php php-fpm php-gd
Both the webserver and the php-fpm daemon must have read & write permissions to the webroot folder (/var/web_server by default).
Make sure your user:group of choice is isolated from the rest of the system!
$ sudo mkdir /var/web_server
$ sudo chown -R user:group /var/web_server
$ sudo chmod -R 755 /var/web_server
$ git clone https://git.xenobyte.xyz/XENOBYTE/zenode/ /var/web_server/
Although zenode is developed primarily for NGINX, it will work with any webserver that honors the following rules:
The included NGINX virtual block template also comes (carefully!) preconfigured with added security features and optimizations. It's strongly adviced to mirror them in your server of choice.
To proceed with NGINX, change ownership of its configuration directory to the webmaster user and create the folders for ssl and virtual block files.
$ sudo chown -R user:group /etc/nginx/
$ sudo chown -R 755 /etc/nginx
$ mkdir /etc/nginx/ssl
$ mkdir /etc/nginx/sites-enabled
$ mkdir /etc/nginx/sites-available
$ mv /var/web_server/zenode/static/text_files/zenode_vsb /etc/nginx/sites-available/zenode
$ sudo ln -s /etc/nginx/sites-available/nginx_zenode_vsb /etc/nginx/sites-enabled
# Check for NGINX error
$ sudo nginx -t
$ sudo systemctl restart nginx.service
Edit the included vbs file (zenode/tools/zenode.vsb).
# Point to your SSL files
ssl_certificate_key /etc/nginx/ssl/ssl_key
ssl_certificate /etc/nginx/ssl/ssl_cert
Set the NGINX user and group.
# The user and group should match the ones assigned to php-fpm
user username group;
Add the hostname zenode.localhost to the /etc/hosts lookup table
127.0.0.1 localhost zenode.localhost
Edit the /etc/php/php.ini file
# Will be referenced by zenode! Defaults to 'SID'
session.name = SID
# Uncomment the following extensions
extension=gd
extension=pdo_sqlite
# Enable session strict mode to prevent recycled / user provided sids
session.use_strict_mode = 1
Set the PHP-FPM user and group in /etc/php/php-fpm.d/www.conf.
# The user and group should match the ones assigned to php-fpm
user = user
group = group
# The user and group should match the ones assigned to php-fpm
listen.owner = user
listen.group = group
Start the PHP-FPM process
$ sudo systemctl start php-fpm.service
Open up your web browser of choice and request zenode.localhost. You should now have a running instance of zenode!
Check the quickstart guide to start customizing your (ze)node.
// Zenode is free software maintained by its community
If you'd like to help the project out, consider making a donation or contributing to the development.