Static Pages

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 )