Kategorie: Linux

perfetto server su Ubuntu 18.04 nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD z panelem ISPConfig 3.1

Nel tutorial di oggi mi limiterò a descrivere il processo di preparazione di un server web pienamente funzionante con pannello gratuito per la gestione del ISPConfig.
Guidance è stato preparato sotto l'ultima versione di Ubuntu 18.04

Per cominciare apportare modifiche al nome host del sistema. Questo passo descriveva in questa guida.

Abbiamo Accedere come comando root:

sudo -s

Entro la password. Quindi installare il nostro editor di file di testo preferito, per esempio, nano:

apt-get install nano

Il passo successivo è quello di repository set in /etc/apt/sources.list

noi li comandiamo:

nano /etc/apt/sources.list

Il file dovrebbe essere simile a questo:

#

# deb cdrom:[Ubuntu-Server 18.04 LTS _Bionic Beaver_ - Release amd64 (20180425.1)]/ bionic main restricted

#deb cdrom:[Ubuntu-Server 18.04 LTS _Bionic Beaver_ - Release amd64 (20180425.1)]/ bionic main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://de.archive.ubuntu.com/ubuntu/ bionic main restricted
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://de.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://de.archive.ubuntu.com/ubuntu/ bionic universe
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic universe
deb http://de.archive.ubuntu.com/ubuntu/ bionic-updates universe
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://de.archive.ubuntu.com/ubuntu/ bionic multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://de.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://de.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner

deb http://security.ubuntu.com/ubuntu bionic-security main restricted
# deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted
deb http://security.ubuntu.com/ubuntu bionic-security universe
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
deb http://security.ubuntu.com/ubuntu bionic-security multiverse
# deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse

Poi facciamo un aggiornamento repository e gli aggiornamenti di sistema:

apt-get update
apt-get upgrade

Per essere sicuri corretto funzionamento del sistema e salvare tutte le modifiche rendere il comando di sistema riavvio:

riavvio

Dopo il riavvio, ri-log all'account root sul sistema e modificare nel guscio sistema.
Possiamo fare questo comando:

dpkg-reconfigure dash

La comunicazione selezionare l'opzione che non sta bene:

Use dash as the default system shell (/bin/sh)? 

Spegnere AppArmor

AppArmor è un'estensione di sicurezza (Podobne do SELinux), che dovrebbe fornire una maggiore sicurezza. controllare, è installato, e, se necessario, rimuoverla. Non credo che abbiamo bisogno di istituire un sistema sicuro e di solito provoca più problemi che benefici.

La disattivazione sarà effettuata con il comando:

service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

Abbiamo sincronizzare l'ora su un server con il server NTP

apt-get -y install ntp ntpdate

installare Postfix, Dovecot, MariaDB, phpMyAdmin, rkhunter, binutils

piccolo punto qui per installare il necessario posfixa disinstallazione sendmail. Possiamo fare questo comando:

service sendmail stop; update-rc.d -f sendmail remove

Poi installare tutti i pacchetti:

apt-get -y install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo

Il programma di installazione vi chiederà un 2 opzioni selezionate come di seguito:

General type of mail configuration: 

Uruchamiamy TLS / SSL w postfix

modifica file:

nano /etc/postfix/master.cf

E dal momento che commentiamo sezione smtpd_client_restrictions = permit_sasl_authenticated,rifiutare

L'intera dovrebbe assomigliare a questo:

[...]
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,rifiutare
#  -o smtpd_reject_unlisted_recipient = no
#  -o smtpd_client_restrictions = $ mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions = $ mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,rifiutare
#  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,rifiutare
#  -o smtpd_reject_unlisted_recipient = no
#  -o smtpd_client_restrictions = $ mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions = $ mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,rifiutare
#  -o milter_macro_daemon_name = originari
[...]

Dopo aver apportato le modifiche per rendere il riavvio posfixa

service postfix restart

Vogliamo, aby MariaDB / MySQL non è solo su localhost. Perciò abbiamo modificare il file /etc/mysql/mariadb.conf.d/50-server.cnf (per MariaDB o /etc/mysql/my.cnf (dla MySQL) e commentare l'indirizzo bind-line = 127.0.0.1:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

aggiungiamo # il bind-address

[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1
[...]

Impostare il server mysql password di root e passare la configurazione di base con il comando:

mysql_secure_installation

Noi rispondere a domande come:

Inserire password corrente per root (entrare per nessuno): 

Abbiamo impostato il metodo di autenticazione password per nativo, in modo da poter successivamente PHPMyAdmin collegare come utente root:

eco "update mysql.user set plugin = 'mysql_native_password' where user='root';" | radice mysql -u

File di modifica /etc/mysql/debian.cnf e impostare la password di root

nano /etc/mysql/debian.cnf

Sotto gli sguardi di file modificati come questo:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = root
password = HASLO ROOT
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = root
password = HASLO ROOT
socket = /var/run/mysqld/mysqld.sock
basedir = /usr

Modifica il tuo /etc/mysql/my.cnf e monitoraggio locale MySQL hashing

nano /etc/mysql/my.cnf

Il file dovrebbe essere simile a questo:

[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1
[...]

Facciamo un comando restart server MySQL:

service mysql restart

Installazione Amavisd-new, SpamAssassin, e ClamAV

apt-get -y install amavisd-new spamassassin clamav clamav-daemon unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl postgrey

Per aggiornare antivirus ClamAV firme e avviare il clamd spendere i seguenti comandi:

freshclam
service clamav-daemon start

database dei virus aggiornamento può richiedere un po ', si prega di essere paziente attesa.

È possibile ignorare il seguente errore quando si inizia a freshclam.

ERRORE: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).

Amavisd nuovo programma ora contiene un errore in Ubuntu 18.04, che impedisce la corretta firma e-mail con DKIM. Eseguire il seguente comando, di allegare amavisd-new.

cd /tmp
wget https://git.ispconfig.org/ispconfig/ispconfig3/raw/stable-3.1/helper_scripts/ubuntu-amavisd-new-2.11.patch
cd /usr/sbin
cp -pf amavisd-new amavisd-new_bak
patch 

Facciamo installare Nginx, PHP 7.2 (PHP-FPM), e Fcgiwrap

Nginx installare il comando:

apt-get install nginx

Togliamo il server web Apache:

service apache2 stop
update-rc.d -f apache2 remove

Avviare il server Nginx

service nginx start

installare PHP

apt-get -y install php7.2-fpm

Poi abbiamo cercando i moduli PHP e la loro installazione sarà fatto.

apt-cache search php7.2
apt-get -y install php7.2 php7.2-common php7.2-gd php7.2-mysql php7.2-imap php7.2-cli php7.2-cgi php-pear mcrypt imagemagick libruby php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl memcached php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring php-soap php7.2-soap

Modificare il file php.ini

cambiamenti rendono 2 linee

nano /etc/php/7.2/fpm/php.ini

e il cambiamento:

cgi.fix_pathinfo=0

e

date.timezone="Europe/Warsaw"

Facciamo il comando php reload:

service php7.2-fpm reload

Installare il pacchetto FCIWRAP grazie a lui ISPConfig si prenderà cura della corretta configurazione vhost.

apt-get -y install fcgiwrap

Noi installare e configurare phpMyAdmin

apt-get -y install phpmyadmin php-mbstring php-gettext

e configurazione

Web server to reconfigure automatically: 

Instalacja Let's Encrypt

apt-get -y install certbot
certbot register

ISPConfig permette inoltre di gestire (modulo / Modifica / cancellare) mailing list Mailman. Se si desidera utilizzare questa funzione, Mailman installare come segue:

apt-get -y install mailman

Selezionare almeno una lingua, per esempio, .:

Languages to support: 

Abbiamo comando e rispondere alle domande

newlist mailman
root @ server1:~# newlist mailman
Enter the email of the person running the list: 
Hit enter to notify mailman owner... 

root @ server1:~ #

modificare / etc / aliases e ADD:

nano /etc/aliases

## mailman mailing list
mailman:              "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Ricarica, restatartujemy postfix corsa e postino

newaliases
service postfix restart
service mailman start

Installare pure-ftpd e Quota

apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool

Modifica / etc / default / pure-ftpd-comune e set nel modo seguente

nano /etc/default/pure-ftpd-common
[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

Eseguire TLS e SSL per FTP Server:

eco 1 > /etc/pure-ftpd/conf/TLS
mkdir -p /etc/ssl/private/
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Diamo i tuoi dati, come di seguito:

Country Name (2 letter code) [AL]: 

Diamo chmod e riavviare il server FTP

chmod 600 /etc/ssl/private/pure-ftpd.pem
service pure-ftpd-mysql restart

L'installazione di un server DNS BIND

apt-get -y install bind9 dnsutils haveged
systemctl enable haveged
service haveged start

Installazione Vlogger, webalizer, e AWStats

apt-get -y install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl

Facciamo /etc/cron.d/awstats modificando un file e commentare su di essa nel modo descritto di seguito:

nano /etc/cron.d/awstats
#MAILTO=root

#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh

# Generate static reports:
#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh

Jailkit Installazione

apt-get -y install build-essential autoconf automake1.11 libtool flex bison debhelper binutils
cd /tmp 
wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
tar xvfz jailkit-2.19.tar.gz
cd jailkit-2.19
echo 5 > debian/compat

L'attuale versione Jailkit 2.19 Ha un errore di sintassi, che rende impossibile compilare. Per risolvere questo problema, debian aperto / changelog utilizzando nano:

nano debian/changelog

E aggiungere la seguente riga nel 5, seguita da una riga vuota:

 -- Olivier   Wed, 18 novembre 2015 20:38:44 +0100

Facciamo ricompilazione

./debian/rules binary
cd ..
dpkg -i jailkit_2.19-1_*.deb
rm -rf jailkit-2.19*

UFW ed installare fail2ban

apt-get -y install fail2ban
apt-get -y install ufu

Quindi creare un file:/etc / fail2ban / jail.local con il seguente contenuto:

nano /etc/fail2ban/jail.local
[pure-ftpd]
enabled  = true
port     = ftp
filter   = pure-ftpd
logpath  = /var/log/syslog
maxretry = 3

[dovecot]
enabled = true
filter = dovecot
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,che dovrebbe essere installato praticamente su ogni macchina che esegue Unix,imaps", protocol=tcp]
logpath = /var/log/mail.log
maxretry = 5

[postfix]
enabled  = true
port     = smtp
filter   = postfix
logpath  = /var/log/mail.log
maxretry = 3

Facciamo i servizi di ricarica

S

ervice fail2ban restart

Installazione Roundcube Webmail

apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugins javascript-common libjs-jquery-mousewheel php-net-sieve tinymce

Quando si sceglie la configurazione come segue:

Configure database for roundcube with dbconfig-common? 

modificare /Etc/roundcube/config.inc.php il file e modificare l'host predefinito

nano /etc/roundcube/config.inc.php
$config['default_host'] = 'localhost';

Installazione di ISPConfig 3.1

A dire il vero, ci fermiamo Apache, Noi rimuoverlo e riavviare Nginx

service apache2 stop
update-rc.d -f apache2 remove
service nginx restart

Noi afferriamo l'ultima versione del pedale e disfare ISPConfig.

cd /tmp 
wget -O ispconfig.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1
tar xfz ispconfig.tar.gz
cd ispconfig3*/install/

Eseguire lo script di installazione:

php -q install.php

Noi rispondere a domande come:

--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Ubuntu 18.04 È (Bionic Beaver)

Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with .
Tap in "quit" (without the quotes) to stop the installer.


Select language (in,de) [in]: 

lo script finito è stato installato ed è disponibile all'indirizzo https://ipserwera:8080

I dati di default per la password di pannello di amministrazione di login è admin

In questo modo abbiamo un server web pienamente operativo e configurato una volta i database del server di posta e ftp.

fonte: https://www.howtoforge.com/tutorial/perfect-server-ubuntu-18.04-with-apache-php-myqsl-pureftpd-bind-postfix-doveot-and-ispconfig/

Linux

Zobacz komentarze

  • Ciao,
    All'inizio, grazie per il tutorial, spadł mi z nieba :)
    Ma ho un problema: il punto in cui: nano /etc/postfix/master.cf
    La mia configurazione è leggermente diversa dalla tua, per esempio,. Non ho alcun smtpd_client_restrictions option = permit_sasl_authenticated,rifiutare

    Allego quello che ho:

    # Tipo di comando service maxproc privato unpriv chroot sveglia + args
    # (sì) (sì) (no) (mai) (100)

    smtp inet n - y smtpd
    #smtp inet n e 1 postscreen
    #passaggio smtpd - y smtpd
    #dnsblog unix - e 0 dnsblog
    #tlsproxy unix - e 0 tlsproxy
    #presentazione inet n y smtpd
    # -o syslog_name = postfix / sottomissione
    # -o smtpd_tls_security_level = cifrare
    # -o smtpd_sasl_auth_enable = yes
    # -o smtpd_tls_auth_only = yes
    # -o smtpd_reject_unlisted_recipient = no
    # -o smtpd_client_restrictions = $ mua_client_restrictions
    # -o smtpd_helo_restrictions = ftua_helo_restrictions
    # -o smtpd_sender_restrictions = $ mua_sender_restrictions
    # -o smtpd_recipient_restrictions =
    # -o smtpd_relay_restrictions = permit_sasl_authenticated,rifiutare
    # -o milter_macro_daemon_name = originari
    #SMTPS inet n y smtpd
    # -o syslog_name = postfix / SMTPS
    # -o smtpd_tls_wrappermode = yes
    # -o smtpd_sasl_auth_enable = yes
    # -o smtpd_reject_unlisted_recipient = no
    # -o smtpd_client_restrictions = $ mua_client_restrictions
    # -o smtpd_helo_restrictions = ftua_helo_restrictions
    # -o smtpd_sender_restrictions = $ mua_sender_restrictions
    # -o smtpd_recipient_restrictions =
    # -o smtpd_relay_restrictions = permit_sasl_authenticated,rifiutare
    # -o milter_macro_daemon_name = originari
    #628 inet n e qmqpd
    pickup unix n y 60 1 Raccogliere
    pulitura unix n y 0 pulire
    QMGR unix n n 300 1 QMGR

    C'è qualcosa che non va fatto nella fase precedente? IS è semplicemente una versione più recente postfix e qualcos'altro chiamato?

    • Jest to zapewne nowsza wersja ;)
      Guidance già da qualche tempo.
      O ile od komentujesz to co podałem w poradniku całość będzie działać poprawnie :)

      Si noti che quando avete il vostro voci #hasz

  • Contiene un errore nel file di codice:
    nano /etc/mysql/my.cnf
    Poiché il contenuto del file sottotitoli:
    nano /etc/mysql/mariadb.conf.d/50-server.cnf

  • Ciao,
    Purtroppo, dopo tutto cornetta, Server postfix e funzionante ISPConfig, ma purtroppo non ha funzionato neanche phpmyadmin o roundcube. Il secondo problema riguarda a questo, Ho un dominio in az.pl e non so bene come indirizzare sul vostro server a casa. Ho un indirizzo IP variabile ma cambia ogni pochi mesi. C'è qualcuno in grado di aiutarmi nella configurazione del server ?

  • Dopo l'installazione, non installerà nessun altro errore php:

    dpkg: pacchetto di elaborazione errori pure-ftpd-mysql (--configure):
    installato pure-ftpd-mysql pacchetto post-installazione script sottoprocesso ha restituito lo stato di uscita dell'errore 127
    Si sono verificati errori durante l'elaborazione:
    pure-ftpd-mysql

    • Provalo:
      apt-get install -y inetutils-inetd
      update-inetd
      e
      apt --fix-broken install

Udostępnij
Opublikowane przez
Linux

Post recenti

KeePass2 2.52 w Ubuntu 22.04

La guida seguente descrive come installare KeePass su Ubuntu. Całość wykonamy za pomocą kilku poleceń

2 years temu

Installazione dell'editor PDF Master in Ubuntu 22.04

Master PDF Editor è un programma PDF completo, che include molte funzionalità. Oprócz tworzenia i edycji

2 years temu

iotop - monitoraggio della memoria

Iotop jest prostym narzędziem dla systemów Uniksowych umożliwiającym monitorowanie użycia dowolnego nośnika pamięci flash/hdd/ssd w

2 years temu

Esegui più comandi in un lavoro cron

Puoi separare due o più comandi con il punto e virgola (;), Punto e virgola (;): służy do oddzielania

2 years temu

Modifica dei dati exif di una foto nel terminale Linux

Poniższy poradnik opisuje w jaki sposób za pomocą konsoli możemy dokonać edycji danych zdjęcia exif.

2 years temu

Installazione di Rocket.Chat Server su Rocky Linux 8

La seguente guida descrive come installare Rocket.Chat su Rocky Linux 8 Całość bardzo prosto zainstalujemy

2 years temu