Web Hosting Using ISPConfig
Web Hosting Using ISPConfig
5.1 Implementation
Linux Installation
1. According to illustration 5.1 the first step is select the language to install
linux. And then create a partition for the linux operating system that will
be installed. The partition that will be used in the installation of linux is
the swap partition and partition/.
10
11
Illustration 5.1 Display To Select The Language To Install Linux And Create
Patition.
Illustration 5.3 Display To Create User And Password And Installation Process
sudo su
2. The next step was to reconfigure the dpkg and select no to use the dash as
the default system shell in the bin/sh directory.
13
Apparmor is a linux security system that can interfere with the installation
in the isp config. Apparmor is equal to Selinux which is owned by redhat
linux.
6. Configure the type of email to use and enter the system's email name.
Type of email used is internet site because this type of email can be
accessed through web broswer via a computer network. While the name of
the email system is the hostname entered is already created when installing
linux.
nano /etc/postfix/master.cf
15
This configuration is used to enable the SMTP port used to send the e-
mail. Uncomment on:
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
SASL itself useful for the security of the user when login using
Roundcube. Then change the at-o smtpd_client_restrictions becomes
8. After the configuration above, the next step is to restart the postfix to run
postfix configuration.
nano /etc/postfix/master.cf
Uncomment on :
this aim so that mysql can be accessed online viai ISP Config.
16
10. Then install the mysql server and the mysql server configuration use:
mysql_secure_installation
The configuration of the mysql server in the form of filling the root
password that will be used to login to the mysql server, remove the
anonymous user so that people who do not have a user account cannot
login, root login remotely in order to disallow mysql can be accessed by
way of connect to the server and run mysqlnya a command to access the
database, delete the test database, and reload privilege table now. All this
configuration is used in order for the existing database in mysql be safe
Enter current password for root (enter for none): <-- press enter
14. Install PHP Myadmin, apache web server, and PHP 7.0.
17. After that run the configuration file also dav_fs auth_digest dav headers
that are in the directory of apache2.
The purpose of running this Setup is so that the user can manage website
files on the server.
18. Add a new configuration file with the name httproxy. conf in
directory/etc/apache2/conf-available/.
nano /etc/apache2/conf-available/httpoxy.conf
The contents of the file are httproxy RequestHeader unset the Proxy early.
Because with the httproxy.conf configuration file will overcome the attack
by exploiting the deployment via HTTP Proxy that can change the url.
then execute the config file httpoxy.
a2enconf httpoxy
nano /etc/mime.types
#application/x-ruby
This software is useful to encrypt the SSL certificate that has been created
and will be used for ISP config.
nano /etc/default/pure-ftpd-common
VIRTUALCHROOT=true
This configuration is required for each user who will have their own
directory which is like a directory / which can later be accessed by
filezilla.
28. Then change the number on TLS in the / etc / pure-ftpd / conf / TLS
directory to .
mkdir -p /etc/ssl/private/
30. Then create an SSL certificate that has a validity period of up to 7300
days.
21
Open SSL itself is useful for encrypting the process of sending data from
server to client or client to server.
31. Then fill in the SSL certificate by entering the country code, province
name, city name, organization name, organization unit name, hostname on
server, and e-mail address.
Chmod used is 600 so the owner can read and write on the file.
nano /etc/fstab
And add configuration to set the quota limit of each user and group in the
file system / thing that need to be added is in fstab configuration is
22
mount -o remount /
quotaon -avug
nano /etc/cron.d/awstats
#MAILTO=root
This configuration is done so that the update.sh and buildstatic.sh files are
not backed up. If not tagged then the update.sh file will be backed up
every 10 minutes and buildstatic will be backed up every 10 minutes once
23
and 3 hours once This configuration is also used to enable status in ISP
config..
40. Then go to the tmp directory and then download jailkit with wget.
http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz.
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
41. Extract the downloaded jailkit file and then go to the extracted jailkit
folder.
cd jailkit-2.19
./debian/rules binary
cd ..
dpkg -i jailkit_2.19-1_*.deb
The jailkit itself is used to restrict user accounts to certain files by using
chroot.
46. Then create a new config file named jail.local in / etc / fail2ban / directory.
nano /etc/fail2ban/jail.local
[pureftpd]
enabled =true
port =ftp
filter =pureftpd
logpath =var/log/syslog
maxretry =3
[dovecot-pop3imap]
enabled =true
filter =dovecot-pop3imap
action =iptables-multiport[name=dovecot-
pop3imap,port="pop3,pop3s,imap,imaps",protocol=tcp]
logpath =/var/log/mail.log
maxretry =5
[postfix-sasl]
enabled =true
port =smtp
filter =postfix-sasl
25
logpath =/var/log/mail.log
maxretry =3
nano /etc/fail2ban/filter.d/pureftpd.conf
[Definition]
failregex =.*pure-ftpd:(.*@[WARNING Authentication
failed for user.*
ignoreregex =
Configuration is useful for filtering any existing user such as if user and
passsword are not appropriate then it will not be able to login via FTP
server.
nano /etc/fail2ban/filter.d/dovecot-pop3imap.conf
[Definition]
ignoreregex =
Configuration is useful for filtering every user who will login in the mail
server as an example if the user and passsword does not match then it will
not be able to login in the mail server.
52. Configure Mysql password for roundcube web mail. This configuration is
useful for making connections between databases with roundcube web
mail.
27
nano /etc/apache2/conf-enabled/roundcube.conf
nano /etc/roundcube/config.inc.php
$config['default_host'] = 'localhost';
This configuration is useful for roundcube web mail can be accessed via
LAN network.
28
wget -O ispconfig.tar.gz
https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?
ref=stable-3.1
57. After that the extracted ispconfig file has been downloaded.
cd ispconfig3*/install/
php -q install.php
60. Then fill in the language used to install ispconfig, installation mode, mysql
hostname, mysql port, mysq; username, mysql password, database, mysql
charset, and fill ssl already created.
Configuring Postgrey
Configuring Postfix
........................................................................................................................
................++
-----
There are quite a few fields but you can leave some blank
-----
61. After that fill in the port used to open ispconfignya and also fill in the
password to login to ispconfig and re-fill the ssl to be created.
Configuring Getmail
Configuring BIND
Configuring Jailkit
Configuring Pureftpd
Configuring Apache
Configuring vlogger
Configuring Fail2ban
Installing ISPConfig
.......................++
........................................................................................................................
........++
31
e is 65537 (0x10001)
There are quite a few fields but you can leave some blank
-----
Configuring DBServer
Detect IP addresses
Installation completed.
sync
reboot
66. Open the web broswer with https: // ipaddress: 8080 to make sure
ispconfig has been successfully installed.
33
ns1.namaserver and ns2.namaserver, and also fill email address user, then
click save to save this dns configuration.
7. The next step is to click back on the menu sites then click on sub menu
FTP-accounts, then click add new FTP-User.
16. The next step is to open a website that has been created as example
asdf.net to web broswer, if successful upload file from server to client it
will appear result from website already uploaded.
2. Fill in the name of the database that has been created, username and
password for the database, the contents of the database host with localhost,
then click submit to continue installation.
4. If the installation was successfully then it will appear the words succes and
it appears the username and password information has been created.
Illustration 5.41 Pages That Contain Articles That Have Been Created.