Web Development
Servers
Solus provides multiple web servers for local testing of web applications.
Solus is not a server operating system. Usage of server packages outside local testing is not recommended.
Caddy
Caddy is installed with a default configuration that you can customize as needed.
Installation
To install caddy, use the Software Center or execute the following command:
sudo eopkg install caddy
Configuration
You can configure Caddy using a Caddyfile, a text file that contains configuration directives. The default Caddyfile is located at /usr/share/caddy/Caddyfile.
To reload Caddy with a new configuration file, use the following command:
caddy reload --config /path/to/new/caddyfile
For more information, see the Caddy documentation at https://caddyserver.com/docs/.
Management
You can use the following commands to manage Caddy:
- Enable Caddy on startup and start immediately after enabling:
sudo systemctl enable --now caddy - Stop Caddy:
sudo systemctl stop caddy
httpd (Apache)
httpd (Apache) is installed with a default configuration that you can customize as needed.
Installation
To install httpd, use the Software Center or execute the following command:
sudo eopkg install httpd
Usage
Configuration and DocumentRoot
The default configuration files for Apache are located in the /usr/share/defaults/httpd/ directory. To override the default configuration, create a new file with the .conf extension in the /etc/httpd/conf.d directory.
If you modify the configuration files located in the /usr/share/defaults/httpd/ folder, your changes might be overwritten during a system update.
The document root is the directory where Apache serves files from. By default, the document root is /var/www/.
Enabling PHP support
- Install
phpfrom the Software Center or execute the following command:sudo eopkg install php. - Create a new
/etc/httpd/conf.d/php.conffile with the following contents:
LoadModule proxy_module lib64/httpd/mod_proxy.so
LoadModule proxy_fcgi_module lib64/httpd/mod_proxy_fcgi.so
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
- Execute the following command:
sudo systemctl restart httpd && sudo systemctl restart php-fpm
Management
You can use the following commands to manage httpd:
- Enable httpd on startup:
sudo systemctl enable httpd. - Start the web server:
sudo systemctl start httpd - Stop the web server:
sudo systemctl stop httpd
nginx
nginx is installed with a default configuration that you can customize as needed.
Installation
To install nginx, use the Software Center or execute the following command:
sudo eopkg install nginx
Usage
Configuration
Nginx's configuration files are located in the /usr/share/defaults/nginx/ directory. To override the default configuration, you can create configuration files in the /etc/nginx/conf.d/ or the /etc/nginx/sites-enabled folders.
To revert back to the original settings, delete the /etc/nginx/ folder.
Management
You can use the following commands to manage nginx:
- Enable nginx on startup and start immediately after enabling:
sudo systemctl enable --now nginx - Stop nginx:
sudo systemctl stop nginx