How to install NEOS CMS on Ubuntu 22.04
- 00:49 lsb_release -a
- 01:04 apt install apache2 -y
- 01:56 systemctl start apache2
- 02:02 systemctl enable apache2
- 02:13 systemctl status apache2
- 02:31 apt install mariadb-server -y
- 03:21 systemctl start mariadb
- 03:29 systemctl enable mariadb
- 03:38 systemctl status mariadb
- 04:03 mysql
- 04:20 create database neosdb;
- 04:48 create user 'neos_usr'@'localhost';
- 05:55 grant all privileges on neosdb.* to 'neos_usr'@'localhost' identified by '123456';
- 06:13 flush privileges;
- 06:32 apt-get install php8.1 php8.1-cli php8.1-common php8.1-imap php8.1-redis php8.1-snmp php8.1-xml php8.1-zip php8.1-mbstring php8.1-curl libapache2-mod-php php8.1-mysql -y
- 08:04 curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
- 08:20 composer
- 09:03 cd /var/www/html/
- 09:47 git clone https://github.com/neos/neos-base-distribution.git
- 10:15 cd neos-base-distribution/
- 10:22 composer install
- 11:54 chown -R www-data:www-data /var/www/html/
- 12:17 cd Configuration/
- 12:36 cd Development/
- 12:52 mv Settings.yaml.example Settings.yaml
- 13:04 vim Settings.yaml
- 14:06 cd ..
- 14:09 cd Production/
- 14:21 mv Settings.yaml.example Settings.yaml
- 14:28 vim Settings.yaml
- 15:21 cd /etc/apache2/sites-available/
- 15:29 vim neos.conf
- 16:05 a2enmod rewrite
- 16:18 a2ensite neos.conf
- 16:36 a2dissite 000-default.conf
- 16:48 apachectl -t
- 18:19 systemctl restart apache2
To install NEOS CMS on Ubuntu 22.04
Introduction
Neos CMS is an open-source Content Management System that allows developers and users to build their websites in a couple of steps quickly. Neos CMS is written in PHP and JavaScript and uses SQL. In this blog post, we will install Neos CMS with the LAMP stack so you can easily access it via a domain name.
Procedure
Step 1: Check the OS version by using the below command
root@linuxhelp:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
Step 2: Install Apache on Ubuntu machine by using the below command
root@linuxhelp:~# apt install apache2 -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
libflashrom1 libftdi1-2 libllvm13
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
Suggested packages:
apache2-doc apache2-suexec-pristine | apache2-suexec-custom
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3
libaprutil1-ldap
0 upgraded, 8 newly installed, 0 to remove and 2 not upgraded.
Need to get 1,918 kB of archives.
After this operation, 7,706 kB of additional disk space will be used.
Get:1 http://in.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libapr1 amd64 1.7.0-8ubuntu0.22.04.1 [108 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libaprutil1 amd64 1.6.1-5ubuntu4.22.04.2 [92.8 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libaprutil1-dbd-sqlite3 amd64 1.6.1-5ubuntu4.22.04.2 [11.3 kB]
Get:4 http://in.archive.ubuntu.com/ubuntu jammy-updates/main amd64
libaprutil1-ldap amd64 1.6.1-5ubuntu4.22.04.2 [9,170 B]
Preparing to unpack .../1-libaprutil1_1.6.1-5ubuntu4.22.04.2_amd64.deb ...
Unpacking libaprutil1:amd64 (1.6.1-5ubuntu4.22.04.2) ...
Selecting previously unselected package libaprutil1-dbd-sqlite3:amd64.
Preparing to unpack .../2-libaprutil1-dbd-sqlite3_1.6.1-5ubuntu4.22.04.2_amd64.deb ...
Unpacking libaprutil1-dbd-sqlite3:amd64 (1.6.1-5ubuntu4.22.04.2) ...
Selecting previously unselected package libaprutil1-ldap:amd64.
Preparing to unpack .../3-libaprutil1-ldap_1.6.1-5ubuntu4.22.04.2_amd64.deb ...
Unpacking libaprutil1-ldap:amd64 (1.6.1-5ubuntu4.22.04.2) ...
Selecting previously unselected package apache2-bin.
Preparing to unpack .../4-apache2-bin_2.4.52-1ubuntu4.6_amd64.deb ...
Unpacking apache2-bin (2.4.52-1ubuntu4.6) ...
Selecting previously unselected package apache2-data.
Preparing to unpack .../5-apache2-data_2.4.52-1ubuntu4.6_all.deb ...
Unpacking apache2-data (2.4.52-1ubuntu4.6) ...
Setting up apache2-utils (2.4.52-1ubuntu4.6) ...
Setting up apache2-bin (2.4.52-1ubuntu4.6) ...
Setting up apache2 (2.4.52-1ubuntu4.6) ...
Enabling module mpm_event.
Enabling module authz_core.
Enabling module authz_host.
Created symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2
.service.
Created symlink /etc/systemd/system/multi-user.target.wants/apache-htcacheclean.service → /lib/systemd/sy
stem/apache-htcacheclean.service.
Processing triggers for ufw (0.36.1-4ubuntu0.1) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
Step 3: Now start and enable Apache2 by using the below command
root@linuxhelp:~# systemctl start apache2
root@linuxhelp:~# systemctl enable apache2
Synchronizing state of apache2.service with SysV service script with
/lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable apache2
Step 4: Check the status of the Apache2 by using the below command
root@linuxhelp:~# systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-09-11 17:32:51 IST; 1 week 3 days ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 5183 (apache2)
Tasks: 55 (limit: 4556)
Memory: 5.1M
CPU: 101ms
CGroup: /system.slice/apache2.service
├─5183 /usr/sbin/apache2 -k start
├─5184 /usr/sbin/apache2 -k start
└─5185 /usr/sbin/apache2 -k start
Sep 11 17:32:51 linuxhelp systemd[1]: Starting The Apache HTTP Server...
Sep 11 17:32:51 linuxhelp apachectl[5182]: AH00558: apache2: Could not reliably determine the server's f>
Sep 11 17:32:51 linuxhelp systemd[1]: Started The Apache HTTP Server.
Step 5 : Install MariaDB server by using the below command
root@linuxhelp:~# apt install mariadb-server -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
libflashrom1 libftdi1-2 libllvm13
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
galera-4 gawk libcgi-fast-perl libcgi-pm-perl libconfig-inifiles-perl libdaxctl1
libdbd-mysql-perl
libdbi-perl libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-template-perl libmariadb3 libmysqlclient21
libndctl6 libpmem1 libsigsegv2 libsnappy1v5 libterm-readkey-perl liburing2 mariadb-client-10.6
Get:1 http://in.archive.ubuntu.com/ubuntu jammy/main amd64 libsigsegv2 amd64 2.13-1ubuntu3 [14.6 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu jammy/main amd64 gawk amd64 1:5.1.0-1build3 [447 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu jammy/main amd64 mysql-common all 5.8+1.0.8 [7,212 B]
Get:4 http://in.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 mariadb-common all 1:10.6.12-0ubuntu0.22.04.1 [16.4 kB]
Get:5 http://in.archive.ubuntu.com/ubuntu jammy/universe amd64 galera-4 amd64 26.4.9-1build1 [720 kB]
Get:6 http://in.archive.ubuntu.com/ubuntu jammy/main amd64 libdbi-perl amd64 1.643-3build3 [741 kB]
Get:7 http://in.archive.ubuntu.com/ubuntu jammy/main amd64 libconfig-inifiles-perl all 3.000003-1 [40.5 kB]
Setting up mariadb-client-core-10.6 (1:10.6.12-0ubuntu0.22.04.1) ...
Setting up libdbd-mysql-perl:amd64 (4.050-5ubuntu0.22.04.1) ...
Setting up mariadb-client-10.6 (1:10.6.12-0ubuntu0.22.04.1) ...
Setting up mariadb-server-10.6 (1:10.6.12-0ubuntu0.22.04.1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /lib/systemd/system/mariadb
.service.
Setting up mariadb-server (1:10.6.12-0ubuntu0.22.04.1) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
Step 6: Start and enable the MariaDB by using the below command
root@linuxhelp:~# systemctl start mariadb
root@linuxhelp:~# systemctl enable mariadb
Synchronizing state of mariadb.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mariadb
Step 7: Check the status of the MariaDB by using the below command
root@linuxhelp:~# systemctl status mariadb
● mariadb.service - MariaDB 10.6.12 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-09-22 07:47:19 IST; 41s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 7710 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 17 (limit: 4556)
Memory: 61.5M
CPU: 921ms
CGroup: /system.slice/mariadb.service
└─7710 /usr/sbin/mariadbd
Sep 22 07:47:19 linuxhelp mariadbd[7710]: 2023-09-22 7:47:19 0 [Note] Plugin 'FEEDBACK' is disabled.
Sep 22 07:47:19 linuxhelp mariadbd[7710]: 2023-09-22 7:47:19 0 [Note] InnoDB: Loading buffer pool(s) fr>
0ubuntu0.22.04.1' socket: '/run/mys>
Sep 22 07:47:19 linuxhelp systemd[1]: Started MariaDB 10.6.12 database server.
Sep 22 07:47:20 linuxhelp /etc/mysql/debian-start[7741]: Checking for insecure root accounts.
Sep 22 07:47:20 linuxhelp /etc/mysql/debian-start[7746]: Triggering myisam-recover for all MyISAM tables>
Step 8: Login to the MySql, create database, create user, grant all privileges to the user for database, Flush previleges and exit from MySQL.
root@linuxhelp:~# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 32
Server version: 10.6.12-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database neosdb;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> create user 'neos_usr'@'localhost';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> grant all privileges on neosdb.* to 'neos_usr'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> exit;
Bye
Step 9: Install PHP with extensions by using the below command
root@linuxhelp:~# apt-get install php8.1 php8.1-cli php8.1-common php8.1-imap php8.1-redis php8.1-snmp php8.1-xml php8.1-zip php8.1-mbstring php8.1-curl libapache2-mod-php php8.1-mysql -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
libflashrom1 libftdi1-2 libllvm13
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
libapache2-mod-php8.1 libc-client2007e libonig5 libzip4 mlock php-common php8.1-igbinary
php8.1-opcache php8.1-readline snmp
Suggested packages:
php-pear uw-mailutils redis-server
The following NEW packages will be installed:
libapache2-mod-php libapache2-mod-php8.1 libc-client2007e libonig5 libzip4
mlock php-common php8.1
php8.1-cli php8.1-common php8.1-curl php8.1-igbinary php8.1-imap php8.1-mbstring php8.1-mysql
php8.1-opcache php8.1-readline php8.1-redis php8.1-snmp php8.1-xml php8.1-zip snmp
0 upgraded, 22 newly installed, 0 to remove and 2 not upgraded.
Need to get 7,373 kB of archives.
After this operation, 28.1 MB of additional disk space will be used.
Get:1 http://in.archive.ubuntu.com/ubuntu jammy/main amd64 php-common all 2:92ubuntu1 [12.4 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu jammy-updates/main amd64 php8.1-common amd64 8.1.2-1ubuntu2.14 [1,127 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu jammy-updates/main amd64 php8.1-opcache amd64 8.1.2-1ubuntu2.14 [365 kB]
Get:4 http://in.archive.ubuntu.com/ubuntu jammy-updates/main amd64 php8.1-readline amd64 8.1.2-1ubuntu2.14 [13.6 kB]
Get:5 http://in.archive.ubuntu.com/ubuntu jammy-updates/main amd64 php8.1-cli amd64 8.1.2-1ubuntu2.14 [1,834 kB]
Get:6 http://in.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libapache2-mod-php8.1 amd64 8.1.2-1ubuntu2.14 [1,766 kB]
Selecting previously unselected package mlock.
Preparing to unpack .../03-mlock_8%3a2007f~dfsg-7build1_amd64.deb ...
Unpacking mlock (8:2007f~dfsg-7build1) ...
Selecting previously unselected package libc-client2007e.
Preparing to unpack .../04-libc-client2007e_8%3a2007f~dfsg-7build1_amd64.deb ...
Unpacking libc-client2007e (8:2007f~dfsg-7build1) ...
Selecting previously unselected package libonig5:amd64.
Preparing to unpack .../05-libonig5_6.9.7.1-2build1_amd64.deb ...
Unpacking libonig5:amd64 (6.9.7.1-2build1) ...
Selecting previously unselected package libzip4:amd64.
Preparing to unpack .../06-libzip4_1.7.3-1ubuntu2_amd64.deb ...
Unpacking libzip4:amd64 (1.7.3-1ubuntu2) ...
Selecting previously unselected package php8.1.
Preparing to unpack .../07-php8.1_8.1.2-1ubuntu2.14_all.deb ...
Unpacking php8.1 (8.1.2-1ubuntu2.14) ...
Selecting previously unselected package php8.1-curl.
Preparing to unpack .../08-php8.1-curl_8.1.2-1ubuntu2.14_amd64.deb ...
Unpacking php8.1-curl (8.1.2-1ubuntu2.14) ...
Selecting previously unselected package php8.1-imap.
Preparing to unpack .../09-php8.1-imap_8.1.2-1ubuntu2.14_amd64.deb ...
Creating config file /etc/php/8.1/mods-available/sysvmsg.ini with new version
Creating config file /etc/php/8.1/mods-available/sysvsem.ini with new version
Creating config file /etc/php/8.1/mods-available/sysvshm.ini with new version
Creating config file /etc/php/8.1/mods-available/tokenizer.ini with new version
Setting up libzip4:amd64 (1.7.3-1ubuntu2) ...
Setting up mlock (8:2007f~dfsg-7build1) ...
Setting up snmp (5.9.1+dfsg-1ubuntu2.6) ...
Setting up php8.1-curl (8.1.2-1ubuntu2.14) ...
Creating config file /etc/php/8.1/mods-available/curl.ini with new version
Setting up php8.1-xml (8.1.2-1ubuntu2.14) ...
Creating config file /etc/php/8.1/mods-available/dom.ini with new version
Creating config file /etc/php/8.1/mods-available/simplexml.ini with new version
Creating config file /etc/php/8.1/mods-available/xml.ini with new version
Creating config file /etc/php/8.1/mods-available/xmlreader.ini with new version
Creating config file /etc/php/8.1/mods-available/xmlwriter.ini with new version
Creating config file /etc/php/8.1/mods-available/xsl.ini with new version
Setting up php8.1-mysql (8.1.2-1ubuntu2.14) ...
Creating config file /etc/php/8.1/mods-available/mysqlnd.ini with new version
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
Processing triggers for php8.1-cli (8.1.2-1ubuntu2.14) ...
Processing triggers for libapache2-mod-php8.1 (8.1.2-1ubuntu2.14) ...
Step 10: NEOS CMS requires composer
root@linuxhelp:~# curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
All settings correct for using Composer
Downloading...
Composer (version 2.6.3) successfully installed to: /usr/bin/composer
Use it: php /usr/bin/composer
Step 11: Check the composer version by using the below command
root@linuxhelp:~# composer
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.6.3 2023-09-15 09:38:21
Step 12: Move to the Apache document root directory by using the below command
root@linuxhelp:~# cd /var/www/html/
Step 13: Clone the NEOS package from the Git by using the below command
root@linuxhelp:/var/www/html# git clone https://github.com/neos/neos-base-distribution.git
Cloning into 'neos-base-distribution'...
remote: Enumerating objects: 8999, done.
remote: Counting objects: 100% (266/266), done.
remote: Compressing objects: 100% (124/124), done.
remote: Total 8999 (delta 171), reused 236 (delta 142), pack-reused 8733
Receiving objects: 100% (8999/8999), 7.74 MiB | 4.91 MiB/s, done.
Resolving deltas: 100% (4701/4701), done.
Step 14: List the Apache document root directory by using the below command
root@linuxhelp:/var/www/html# ls
index.html neos-base-distribution
Step 15: Change the directory to NEOS by using the below command
root@linuxhelp:/var/www/html# cd neos-base-distribution/
Step 16: Install NEOS CMS by using the composer
root@linuxhelp:/var/www/html/neos-base-distribution# composer install
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 146 installs, 0 updates, 0 removals
- Locking behat/transliterator (v1.5.0)
- Locking brick/math (0.11.0)
- Locking composer/ca-bundle (1.3.7)
- Locking composer/class-map-generator (1.1.0)
- Locking composer/composer (2.6.3)
- Locking composer/metadata-minifier (1.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 146 installs, 0 updates, 0 removals
- Downloading neos/composer-plugin (2.1.3)
- Downloading symfony/process (v6.3.4)
- Downloading symfony/polyfill-php81 (v1.28.0)
- Downloading symfony/polyfill-ctype (v1.28.0)
- Downloading symfony/deprecation-contracts (v3.3.0)
- Installing neos/composer-plugin (2.1.3): Extracting archive
Class Neos\Flow\Composer\InstallerScripts is not autoloadable, can not call post-package-install script
- Installing symfony/process (v6.3.4): Extracting archive
- Installing symfony/polyfill-php81 (v1.28.0): Extracting archive
- Installing symfony/polyfill-ctype (v1.28.0): Extracting archive
- Installing symfony/deprecation-contracts (v3.3.0): Extracting archive
> Neos\Flow\Composer\InstallerScripts::postPackageUpdateAndInstall
> Neos\Flow\Composer\InstallerScripts::postPackageUpdateAndInstall
> Neos\Flow\Composer\InstallerScripts::postPackageUpdateAndInstall
> Neos\Flow\Composer\InstallerScripts::postPackageUpdateAndInstall
> Neos\Flow\Composer\InstallerScripts::postPackageUpdateAndInstall
35 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
121 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> Neos\Flow\Composer\InstallerScripts::postUpdateAndInstall
Step 17: Change the ownership of the directory by using the below command
root@linuxhelp:/var/www/html/neos-base-distribution# chown -R www-data:www-data /var/www/html/
Step 18: Change to the Configuration directory by using the below command
root@linuxhelp:/var/www/html/neos-base-distribution# cd Configuration/
root@linuxhelp:/var/www/html/neos-base-distribution/Configuration# ls
Development Production README Settings.yaml.example Testing
Step 19: Now change the directory to Development by using the below command
root@linuxhelp:/var/www/html/neos-base-distribution/Configuration# cd Development/
Step 20: Rename the file from Settings.yaml.example to Settings.yaml by using the below command
root@linuxhelp:/var/www/html/neos-base-distribution/Configuration/Development# mv Settings.yaml.example Settings.yaml
Step 21: Edit the Settings.yaml file by using the below command
root@linuxhelp:/var/www/html/neos-base-distribution/Configuration/Development# vim Settings.yaml
Edit the following lines
backendOptions:
dbname: 'neosdb' # adjust to your database name
user: 'neos_usr' # adjust to your database user
password: '123456' # adjust to your database password
Step 22: Then do the same for Production by using the below command
root@linuxhelp:/var/www/html/neos-base-distribution/Configuration/Development# cd ..
root@linuxhelp:/var/www/html/neos-base-distribution/Configuration# cd Production/
Step 23: Rename the file from Settings.yaml.example to Settings.yaml by using the below command
root@linuxhelp:/var/www/html/neos-base-distribution/Configuration/Production# mv Settings.yaml.example Settings.yaml
Step 24: Edit the Settings.yaml by using the below command
root@linuxhelp:/var/www/html/neos-base-distribution/Configuration/Production# vim Settings.yaml
Edit the following lines
backendOptions:
dbname: 'neosdb' # adjust to your database name
user: 'neos_usr' # adjust to your database user
password: '123456' # adjust to your database password
Step 25: Go into the Apache directory by using the below command
root@linuxhelp:/var/www/html/neos-base-distribution/Configuration/Production# cd /etc/apache2/sites-available/
Step 26: Create a configuration file for the Neos CMS by using the below command
root@linuxhelp:/etc/apache2/sites-available# vim neos.conf
Add the following lines
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/html/neos-base-distribution/Web
<Directory /var/www/html/neos-base-distribution/Web>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html/neos-base-distribution/Web/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
</Directory>
</VirtualHost>
Step 27: Enable the Apache configuration for Neos CMS and rewrite the module by using the below command
root@linuxhelp:/etc/apache2/sites-available# a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
systemctl restart apache2
root@linuxhelp:/etc/apache2/sites-available# a2ensite neos.conf
Enabling site neos.
To activate the new configuration, you need to run:
systemctl reload apache2
Step 28: Disable the Apache default welcome page by using the below command
root@linuxhelp:/etc/apache2/sites-available# a2dissite 000-default.conf
Site 000-default disabled.
To activate the new configuration, you need to run:
systemctl reload apache2
Step 29: Check the syntax by using the below command
root@linuxhelp:/etc/apache2/sites-available# apachectl -t
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK
Step 30: Reload the Apache service by using the below command
root@linuxhelp:/etc/apache2/sites-available# systemctl reload apache2

Conclusion:
We have reached the end of this article. In this guide, we have walked you through the steps required to installation of NEOS CMS on Ubuntu 22.04. Your feedback is much welcome.
Comments ( 0 )
No comments available