Skip to content

Instantly share code, notes, and snippets.

@whatafunc
Created December 22, 2023 08:42
Show Gist options
  • Save whatafunc/479ae752a7ba5937819ba317f0c59232 to your computer and use it in GitHub Desktop.
Save whatafunc/479ae752a7ba5937819ba317f0c59232 to your computer and use it in GitHub Desktop.
MODX Revolution is a CMS written in PHP and it's recent version do support php 8.2.
MODX Revolution is a CMS written in PHP and it's recent version do support php 8.2.
There is a confedence it's support will be continued so just in case a small guide how you can deploy it on your Digitalocean cloud or other vps
Let's go:
$ apt-get install php8.2 php8.2-mysql mysql-server
# download modx revolution from http://modxcms.com
$ cd /var/www
$ unzip /home/ubuntu/modx-2.8.6-pl.zip
$ mv modx-2.8.6-pl modx
$ cd modx
$ touch core/config/config.inc.php
$ mkdir -p assets/components
$ mkdir -p core/components
$ chown -R www-data:www-data \
core/cache \
core/export \
core/packages \
assets/ \
core/components \
core/config/config.inc.php
$ nginx -s reload
# Now go to http://yoursitedomain or IP/modx/setup/ and fill the forms...
Installation type: New
New folder permissions: 0755
New file permissions: 0644
Database type: mysql
Database host: localhost
Database login name: notroot
Database password: **********
Database name: db
Table prefix: modx_
Connection character set: utf8
Collation: utf8_general_ci
# for security remove the setup directory when setup is done or use the tick box checked to let it automatically cleaned
$ rm -rf /var/www/html/modx-2.8.6-pl/setup/
Done
@whatafunc
Copy link
Author

Core folder is accessible by web

MODX detected that your core folder is (partially) accessible to the public. This is not recommended and a security risk. If your MODX installation is running on a Apache webserver you should at least set up the .htaccess file inside the core folder /home/forge/default/public/core/. This can be easily done by renaming the existing ht.access example file there to .htaccess.

But that's just for apache webserver so what you can do for NGINX?

$ sudo nano /etc/nginx/sites-available/default
and add lines:
location ^~ /core/ {
deny all;
}
then just reload NGINX service.
Done.

@whatafunc
Copy link
Author

The install failed because MODX could not unpack the /home/ubuntu/modx/core/packages/core.transport.zip package. Make sure that the /home/ubuntu/modx/core/packages/core.transport.zip file exists and is writable, and that you have made the /home/ubuntu/modx/core/packages/ directory writable.

OK, the first google result I see is this but it did not work for me so I simply copied that core package from another site:
$ cd /home/ubuntu/modx/core/packages/
$ wget mystorageexample123-demo.com/core.transport.zip
then just restarted the install process or if it's still has your form data click retry and you are done :)

@whatafunc
Copy link
Author

chown www-data:www-data -R * # Let Apache/NIGINX be owner find . -type d -exec chmod 755 {} \; # Change directory permissions rwxr-xr-x find . -type f -exec chmod 644 {} \; # Change file permissions rw-r--r--

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment