To install all components manual, follow these steps:
Important
INFORMATION: This document may be out of date.
# Pre_Config
apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get install dnsutils git tzdata
dpkg-reconfigure tzdata
apt-get install sudo vim make zip unzip chkconfig bash-completion curl dbus
export DEBIAN_FRONTEND=noninteractive
# fruithost User
groupadd -g 1010 fruithost
useradd -u 1010 -s /bin/false -d /bin/null -g fruithost fruithost
Set $DOMAIN
to your hosting domain name (for sample freehost24.com
)
# Set hostname
hostname $DOMAIN
echo "127.0.0.1 $DOMAIN" >> /etc/hosts
hostnamectl set-hostname "$DOMAIN"
apt-get install lshw -y
lshw -version
# Webserver
apt-get install apache2 -y
apache2 -v
# Adding MariaDB Repository
sudo apt-get install apt-transport-https curl
sudo mkdir -p /etc/apt/keyrings
sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
Adding following lines to your /etc/apt/sources.list
deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.23m.com/mariadb/repo/10.11/debian bullseye main
# Install MariaDB
sudo apt-get update
sudo apt-get install mariadb-server
# Testing the database server
mysql -u root -p"$mysqlpassword" -e "DROP DATABASE IF EXISTS test";
Please be sure to backup the following file: /etc/mysql/my.cnf
and add an symlink to
/etc/fruithost/config/mysql/global.cnf
via ln -s /etc/fruithost/config/mysql/global.cnf /etc/mysql/my.cnf
sudo apt -y install lsb-release apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php8.2.list
sudo apt update
sudo apt upgrade
sudo apt -y install php8.2
sudo apt install php8.2-bcmath php8.2-bz2 php8.2-cli php8.2-curl php8.2-dba php8.2-fpm php8.2-gd php8.2-gmp php8.2-imap php8.2-interbase php8.2-intl php8.2-ldap php8.2-mbstring php8.2-mysql php8.2-odbc php8.2-pgsql php8.2-snmp php8.2-soap php8.2-sqlite3 php8.2-sybase php8.2-xmlrpc php8.2-xsl php8.2-zip
sudo apt install php8.2-dev php-pear libz-dev
# google-protobuf extension
pecl channel-update pecl.php.net
pecl install grpc
# PHP-FPM & Apache
a2enmod proxy_fcgi setenvif headers
a2enconf php8.2-fpm
a2enmod actions fastcgi alias ssl rewrite
a2dismod php8.2
service apache2 restart
apt-get install proftpd proftpd-mod-mysql (as inetd)
groupadd -g 2001 ftpd
useradd -u 2001 -s /bin/false -d /bin/null -g ftpd ftpd
# protected dirs for apache2
apt-get install apache2-utils libaprutil1 libaprutil1-dbd-mysql
a2enmod authn_socache dbd authn_dbd authn_dbm
service apache2 restart
# RSyslog
apt-get install rsyslog rsyslog-mysql
If you follow these steps, all recommended software get preinstalled for fruithost
.
After pre-installation, you must upload all fruithost
files and configure all necessary endpoints.