Grav with Lighttpd
$ apt-get update --allow-releaseinfo-change -y
$ apt-get install --reinstall ca-certificates -y
$ apt-get upgrade -y
$ apt-get install nano wget curl perl sudo -y
$ sudo apt -y dist-upgrade
$ sudo apt --purge autoremove -y
$ sudo apt update && sudo apt upgrade -y
$ apt -y purge Apache2* bind* exim* ufw firewalld libapache2-mod-php*
$ adduser lighttpd
$ adduser lighttpdsudo
$ su - lighttpd
$ exit
1. ============Install DB================
$ apt install mariadb-server mariadb-client -y
$ systemctl start mariadb
$ systemctl enable mariadb
$ systemctl status mariadb
$ mysql_secure_installation
type y to set the root password
$ mariadb -u rootexit;
2. ==========Install PHP==================
$ sudo apt -y install php software-properties-common
$ sudo apt -y install php-common php-mysql php-xml php-xmlrpc php-curl php-gd php-imagick php-cli php-fpm php-json php-imap php-mbstring php-opcache php-soap php-dev php-cgi php-zip php-intl php-bcmath php-pear
$ sudo apt -y install libmcrypt-dev libreadline-dev mcrypt
$ sudo apt -y install php8.2 php8.2-fpm php8.2-common php8.2-mysql php8.2-xml php8.2-xmlrpc php8.2-curl php8.2-gd php8.2-cli php8.2-dev php8.2-imap php8.2-mbstring php8.2-soap php8.2-zip php8.2-cgi
$ sudo apt -y install php7.4 php7.4-fpm php7.4-common php7.4-mysql php7.4-xml php7.4-xmlrpc
$ sudo apt -y install php7.4-curl php7.4-gd php7.4-cli php7.4-dev php7.4-imap php7.4-mbstring
$ sudo apt -y install php7.4-soap php7.4-zip php7.4-cgi
3. =============Install Lighttpd=======================
$ apt-get install lighttpd -y
$ systemctl start lighttpd
$ systemctl enable lighttpd
$ systemctl status lighttpd
go to http://your-server-ip
$ apt -y purge Apache2* bind* exim* ufw firewalld libapache2-mod-php*
**if it doesn't have space, check */var/cache/* and **/var/log(except Apache2)** clean crap!**
# if you want to use php-fpm; Use PHP-FPM service for PHP via FastCGI
$ sudo systemctl restart php8.2-fpm
$ sudo lighty-enable-mod fastcgi fastcgi-php-fpm
$ nano /etc/php/8.2/fpm/php.ini
uncomment
cgi.fix_pathinfo=1
$ sudo service lighttpd force-reload
$ sudo nano /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf
fastcgi.server += ( ".php" =>
((
"socket" => "/run/php/php8.2-fpm.sock",
"broken-scriptfilename" => "enable"
))
)
$ sudo systemctl restart lighttpd
$ sudo nano /var/www/html/test.php
http://your i.p/test.php
4. ============Lighttpd conf=====================================
$ nano /etc/lighttpd/lighttpd.conf
server.module += ("mod_rewrite")
server.document-root = "/home/lighttpd/" OR "/var/www/html/"
server.port = 80
server.bind = "72.12.5.10"
---//At the bottom of the file, add:---------
include "domain1.conf" //include "domain2.conf" and many more...
5. =========Making Website========================
# mkdir -p /home/lighttpd
# mkdir -p /home/lighttpd/domain1 OR "/var/www/html/domain1"
# mkdir -p /home/lighttpd/domain1/logs OR "/var/www/html/domain1/logs"
# nano /etc/lighttpd/domain1.conf and paste
$HTTP["host"] =~ "domain1\.com" {
server.document-root = "/home/lighttpd/domain1" OR "/var/www/html/domain1"
accesslog.filename = "/home/lighttpd/domain1/logs/access.log" OR "/var/www/html/domain1/logs"
}
# chown -R www-data:www-data /home/lighttpd/domain1 // don't forget!!!
OR chown -R www-data:www-data /var/www/html/domain1
# chmod -R 755 /home/lighttpd/domain OR chmod -R 755 /var/www/html/domain1
# systemctl restart lighttpd
6. =======Install Grav==============
$ wget https://getgrav.org/download/core/grav-admin/latest -O grav-admin.zip
$ unzip grav-admin.zip -d grav
$ mv grav grav2
$ mv grav2/grav-admin/ /var/www/html/grav
$ rm -rf grav2/
$ nano /etc/lighttpd/lighttpd.conf
add server.module += ("mod_rewrite")
at bottom add include "domain1.conf"
$ nano /etc/lighttpd/domain1.conf and paste
$HTTP["host"] =~ "domain1.com" {
server.document-root = "/var/www/html/grav"
accesslog.filename = "/var/www/html/grav/logs"
url.rewrite-if-not-file = ( "" => "/index.php" )
}
$ chown -R www-data:www-data /var/www/html/grav
$ chmod -R 755 /var/www/html/grav
$ systemctl restart lighttpd
7. =========Install Webmin===============
$ curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
$ sh setup-repos.sh
$ apt -y install webmin --install-recommends
( change port: $ sudo nano -w /etc/webmin/miniserv.conf )