New page wikitext, after the edit (new_wikitext) | 'Configurare un server di posta elettronica personale:
Requisiti di configurazione iniziale utilizzando uno schema di server Apache & PostGreSQL con PHP, funzionante seguendo i seguenti passi (cheat sheet):
1. Partendo da un sistema fresco è necessario configurare Portage nel make,conf e nella cartella package.use affinchè il processo di emerge raccolga tutte le necessarie configurazioni per rendere il vostro nuovo sistema server funzionante con PHP/Apache e un database per far funzionare la web app Postfixadmin usando il vostro vhost di preferenza, cominciamo definendo le USE flag globali:
FILE '/etc/portage/make.conf':
##############
USE=" sockets crypt bzip2 imap maildir sasl ssl urandom vhosts postgres apache2 nls acl sendmail "
##############################################################################
Applicare le modifiche tenendo conto che è una guida predefinita richiede una selezione ragionata sugli script che devono venire installati, e poi modificati o verificati manualmente, in questo modo impariamo un metodo per utilizzare la distribuzione Gentoo in ogni contesto.
2. Passiamo alla configurazione delle USE flag per cartella, creare un file contenente le seguenti righe:
FILE '/etc/portage/package.use/Mailserver
#########################################
dev-lang/php pdo fpm ldap-sasl ldap soap xmlreader xmlwriter
app-eselect/eselect-php apache2
www-apps/postfixadmin -mysql
Bene, controlla il flag USE qui sopra in base alle tue esigenze, quindi inizia a installare la raccolta di pacchetti sul tuo nuovo server di posta.
ROOT # emerge -pv php
#Mostra un risultato simile:
dev-lang/php::gentoo USE="acl apache2 bzip2 cli ctype fileinfo filter flatfile fpm gdbm iconv imap jit ldap ldap-sasl nls opcache pdo phar posix poostgres readl#ine session simplexml soap sockets ssl tokenizer unicode xml xmlreader xmlwriter zlib ...
la USE flag PDO deve essere presente
https://packages.gentoo.org/useflags/pdo
3. Emergere tutto il software in una volta per il sistema di base Mailserver Apache PHP PostGreSQL Dovecot Postfix:
Portage #world set:
#######################
app-admin/webapp-config
app-crypt/certbot
app-eselect/eselect-php
dev-lang/php
mail-mta/postfix
net-mail/dovecot
www-apps/postfixadmin
www-servers/apache
COSÌ PUOI CARICARE QUESTO ELENCO NEL TUO SET @WORLD, ASSICURATI DI INSTALLARE TUTTO IL NECESSARIO PER ESEGUIRE PHP SU APACHE, e POSTFIXADMIN. VAI AVANTI!
4. Buona norma vuole che si utilizzi 'emerge --pretend --verbose' per verificare l'effettiva configurazione impostata:
#########################################ge.
ROOT # emerge -pv --changed-use --deep @world
Se il risultato rispecchia le USE flag impostate, procedete, altrimenti sarà necessario fermarsi per risolvere il problema rilevato da Portage.
5. Configurazione script di OpenRC
Tutto quello che si dovrebbe fare qui è verificare gli script di init per i vari servizi installati, aggiungere al runlevel 'default' e riavviare o avviare i servizi soggetti alle modifiche di seguito elencate al paragrafo 6.
Files:
/etc/conf.d/:
Controlla: 'postgresql-$version' #Servizio database scelto. Il default può andare bene.
Modifica: 'apache2' #Servizio web scelto da configurare , almeno con i seguenti moduli;.
#############################################################################
APACHE2_OPTS="-D PHP -D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D LANGUAGE"
##############################################################################
Nota: le pagine con estensione .php non funzionano se il server web, non carica il modulo '-D PHP', questo deve essere sempre verificato dopo una installazione fresca di Gentoo.
6. Configurazione in /etc
Controllare la presenza dei file di configurazione nelle cartelle, modificare a seconda del proprio hostame e dominio, questi file devono essere controllati prima di avviare qualsiasi servizio;
'/etc/postgresql-17/pg_hba.conf' ed anche 'postgresql.conf'
Per proseguire dovrai prima leggere questo articolo:
https://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Preparing_to_initialize_the_database_cluster
Se hai seguito i passaggi nella wiki per fare il bootstrap di PostgreSQL, allora sai come funziona un database e puoi procedere con la creazione di un utente e un database che userai collegato a Postfix Admin.
Creare un utente nel database:
https://wiki.gentoo.org/wiki/PostgreSQL#Adding_a_User
https://github.com/postfixadmin/postfixadmin/blob/master/INSTALL.TXT
I comandi da usare sono due,primo, entra nella shell di postgresql:
pgsql -U postgres -d postgres
Dovrai scegliere un nome per il tuo nuovo utente e database, i quali possono essere diversi da 'postfix':
pgsql#> CREATE USER postfix WITH PASSWORD 'whatever';
pgsql#> CREATE DATABASE postfix OWNER postfix ENCODING 'unicode';
Uscire con \q
files in '/etc/apache2/':
-. httpd.conf #file principale, la configurazione del dominio virtuale va creata da zero, con un file posto in '/etc/apache2/vhosts.d':
-.VHOST APACHE CONF; Verrà modificato in seguito contestualmente alla installazione di Postfix Admin
Un riavvio dei servizi apache2 e postgresql usando rc-service prima di passare alla installazione di webapp postfixadmin...
A seconda della vostra configurazione locale, il sistema può fornire dettagliate indicazioni di pre installazione.
Avviate lo script in modalità --pretend --verbose, vi permette una configurazione ottimale, fermatevi qui qualche minuto:
ROOT # webapp-config -VP <TAB> <TAB>
Nota che il comando permette l'auto completamento tramite il tasto tab:
ROOT # webapp-config -VP postfixadmin $version <INVIO>
########################################################
Il file di configurazione '/etc/vhosts/webapp-config' permette di impostare i permessi sui file e quindi possibile assegnare uid,gid ecc, a seconda delle vostre necessità.
Installare postfixadmin con il comando;
ROOT # webapp-config -VI postfix<TAB> <TAB> <INVIO>
:D
Terminata questa fase vi fornirà la posizione dei file nella cartella di default /var/www/miohost.miodominio.tld/../postfixadmin/
Arrivati a questo siamo pronti per avviare la fase finale e critica del procedimento di bootstrap del database postfix utilizzando postfixadmin!
7. Configurazine di Postfix Admin in /var/www/serverdiposta.tuodominio.tld
Il file di configurazione config.local.php, viene modificato per collegare e/o accedere al database scelto e fare un avvio delle nuove tabelle che verranno manipolate in seguito dalla "configurazione postfix".
Il database di postfix Admin viene collegato usando questo file, si evita di perdere tempo con la modifica del file config.inc.php
FILE: /var/www/mail.miodominio.tld/htdocs/postfixadmin/config.local.php
<?php
$CONF['configured'] = true;
$CONF['postfix_admin_url'] = 'http://miodominio.tld/';
$CONF['database_type'] = 'pgsql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = '$tour_database_user_password';
$CONF['database_name'] = 'postfix';
$CONF['database_prefix'] = '';
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';
$CONF['transport'] = 'YES';
$CONF['default_aliases'] = array (
'abuse' => 'abuse@miodominio.tld',
'hostmaster' => 'hostmaster@miodominio.tld',
'postmaster' => 'postmaster@miodominio.tld',
'webmaster' => 'webmaster@miodominio.tld'
);
$CONF['fetchmail'] = 'NO';
$CONF['show_footer_text'] = 'NO';
$CONF['quota'] = 'NO';
$CONF['domain_quota'] = 'NO';
$CONF['quota_multiplier'] = '1024000';
$CONF['used_quotas'] = 'NO';
$CONF['new_quota_table'] = 'NO';
$CONF['aliases'] = '0';
$CONF['mailboxes'] = '0';
$CONF['maxquota'] = '0';
$CONF['domain_quota_default'] = '0';
ini_set('error_log', '/tmp/postfixadmin.log');
?>
In questo file è presente una configurazione di partenza che andrà riveduta per adattare le proprie esigenze, come verrà mostrato da https://wiki.gentoo.org/wiki/Complete_Virtual_Mail_Server
Primo avvio di postfixadmin:
Prestare attenzione al file di log dedicato usando la variabile
ini_set('error_log', '/tmp/postfixadmin.log'); di conf.local.php
ROOT # tail -f /tmp/postfixadmin.log
Tenere aperto un terminale per verificare il funzionamento di postfixadmin, nel caso di errori tipici.
https://expressionengine.stackexchange.com/questions/41839/uncaught-error-class-pdo-not-found-when-i-upgrade-to-php-7-2
-Dal browser, puntare alla pagina setup.php nel vhost configurato...
-Generndo la setup password e copiala nel tuo config.local.php, seguendo le indicazioni nella pagina del setup.php appare la riga del $hash generato, selezionate la riga per intero.
Esempio di stringa:
$CONF['setup_password'] = '$2y$10$TWPJHYO7e2pJDxeTBOot8.lA/....';
-Ricaricare setup.php
Questo è il passaggio crucile, se tutto è stato configurato alla Gentoo way, inserisci la tua setup password ed avvia il procedimento di BOOTSTRAP del database Postfix Admin.
A questo punto se vi sono errori di connessione non si vedrà nulla apparire sotto "Hosting Environment Check" e probabilmente il registro avrà emesso un qualche tipo di errore, controllate il vostro file /tmp/postfixadmin.log
Se tutto funziona si vedrà in azione il processo di bootstrap!
Information
✅ PHP version - 8.2.24
✅ Webserver - Apache
✅ Postfixadmin installed at - /var/www/mail.miodominio.tld/htdocs/postfixadmin/public
✅ PHP Error log (error_log) is - /tmp/postfixadmin.log
✅ config.local.php file found : /var/www/mail.miodominio.tld/htdocs/postfixadmin/config.local.php
✅ Database - MySQL (pdo_mysql) extension not found
✅ Database - PostgreSQL support available
✅ Password hashing - $CONF["encrypt"] = md5crypt
✅ Password hashing - $CONF["encrypt"] - hash generation OK
✅ Database connection configured OK (using PDO pgsql:dbname=postfix;host=localhost;options='-c client_encoding=utf8')
✅ Database connection - Connected OK
✅ Depends on: PHP session support - OK
✅ Depends on: PHP pcre support - OK
✅ Depends on: PHP mbstring support - OK
✅ Optional - PHP IMAP functions - OK
Benissimo ragazzi, questa parte del cheat sheet per installare Postfix Admin è conclusa, scorrendo tutta la pagina del setup.php otterrete tutte le informazioni necessarie per proseguire nella configurazione di Postfix.' |
Unified diff of changes made by edit (edit_diff) | '@@ -1,0 +1,206 @@
+Configurare un server di posta elettronica personale:
+
+Requisiti di configurazione iniziale utilizzando uno schema di server Apache & PostGreSQL con PHP, funzionante seguendo i seguenti passi (cheat sheet):
+
+1. Partendo da un sistema fresco è necessario configurare Portage nel make,conf e nella cartella package.use affinchè il processo di emerge raccolga tutte le necessarie configurazioni per rendere il vostro nuovo sistema server funzionante con PHP/Apache e un database per far funzionare la web app Postfixadmin usando il vostro vhost di preferenza, cominciamo definendo le USE flag globali:
+
+FILE '/etc/portage/make.conf':
+##############
+USE=" sockets crypt bzip2 imap maildir sasl ssl urandom vhosts postgres apache2 nls acl sendmail "
+##############################################################################
+Applicare le modifiche tenendo conto che è una guida predefinita richiede una selezione ragionata sugli script che devono venire installati, e poi modificati o verificati manualmente, in questo modo impariamo un metodo per utilizzare la distribuzione Gentoo in ogni contesto.
+
+2. Passiamo alla configurazione delle USE flag per cartella, creare un file contenente le seguenti righe:
+
+FILE '/etc/portage/package.use/Mailserver
+#########################################
+dev-lang/php pdo fpm ldap-sasl ldap soap xmlreader xmlwriter
+app-eselect/eselect-php apache2
+www-apps/postfixadmin -mysql
+
+Bene, controlla il flag USE qui sopra in base alle tue esigenze, quindi inizia a installare la raccolta di pacchetti sul tuo nuovo server di posta.
+
+ROOT # emerge -pv php
+#Mostra un risultato simile:
+dev-lang/php::gentoo USE="acl apache2 bzip2 cli ctype fileinfo filter flatfile fpm gdbm iconv imap jit ldap ldap-sasl nls opcache pdo phar posix poostgres readl#ine session simplexml soap sockets ssl tokenizer unicode xml xmlreader xmlwriter zlib ...
+
+la USE flag PDO deve essere presente
+https://packages.gentoo.org/useflags/pdo
+
+
+
+
+3. Emergere tutto il software in una volta per il sistema di base Mailserver Apache PHP PostGreSQL Dovecot Postfix:
+
+ Portage #world set:
+#######################
+app-admin/webapp-config
+app-crypt/certbot
+app-eselect/eselect-php
+dev-lang/php
+mail-mta/postfix
+net-mail/dovecot
+www-apps/postfixadmin
+www-servers/apache
+
+COSÌ PUOI CARICARE QUESTO ELENCO NEL TUO SET @WORLD, ASSICURATI DI INSTALLARE TUTTO IL NECESSARIO PER ESEGUIRE PHP SU APACHE, e POSTFIXADMIN. VAI AVANTI!
+
+4. Buona norma vuole che si utilizzi 'emerge --pretend --verbose' per verificare l'effettiva configurazione impostata:
+#########################################ge.
+
+ROOT # emerge -pv --changed-use --deep @world
+
+Se il risultato rispecchia le USE flag impostate, procedete, altrimenti sarà necessario fermarsi per risolvere il problema rilevato da Portage.
+
+5. Configurazione script di OpenRC
+Tutto quello che si dovrebbe fare qui è verificare gli script di init per i vari servizi installati, aggiungere al runlevel 'default' e riavviare o avviare i servizi soggetti alle modifiche di seguito elencate al paragrafo 6.
+
+Files:
+/etc/conf.d/:
+ Controlla: 'postgresql-$version' #Servizio database scelto. Il default può andare bene.
+
+Modifica: 'apache2' #Servizio web scelto da configurare , almeno con i seguenti moduli;.
+#############################################################################
+APACHE2_OPTS="-D PHP -D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D LANGUAGE"
+##############################################################################
+
+Nota: le pagine con estensione .php non funzionano se il server web, non carica il modulo '-D PHP', questo deve essere sempre verificato dopo una installazione fresca di Gentoo.
+
+
+6. Configurazione in /etc
+Controllare la presenza dei file di configurazione nelle cartelle, modificare a seconda del proprio hostame e dominio, questi file devono essere controllati prima di avviare qualsiasi servizio;
+'/etc/postgresql-17/pg_hba.conf' ed anche 'postgresql.conf'
+Per proseguire dovrai prima leggere questo articolo:
+https://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Preparing_to_initialize_the_database_cluster
+
+Se hai seguito i passaggi nella wiki per fare il bootstrap di PostgreSQL, allora sai come funziona un database e puoi procedere con la creazione di un utente e un database che userai collegato a Postfix Admin.
+
+Creare un utente nel database:
+https://wiki.gentoo.org/wiki/PostgreSQL#Adding_a_User
+https://github.com/postfixadmin/postfixadmin/blob/master/INSTALL.TXT
+
+I comandi da usare sono due,primo, entra nella shell di postgresql:
+pgsql -U postgres -d postgres
+
+Dovrai scegliere un nome per il tuo nuovo utente e database, i quali possono essere diversi da 'postfix':
+
+pgsql#> CREATE USER postfix WITH PASSWORD 'whatever';
+pgsql#> CREATE DATABASE postfix OWNER postfix ENCODING 'unicode';
+
+Uscire con \q
+
+
+files in '/etc/apache2/':
+-. httpd.conf #file principale, la configurazione del dominio virtuale va creata da zero, con un file posto in '/etc/apache2/vhosts.d':
+
+-.VHOST APACHE CONF; Verrà modificato in seguito contestualmente alla installazione di Postfix Admin
+
+
+Un riavvio dei servizi apache2 e postgresql usando rc-service prima di passare alla installazione di webapp postfixadmin...
+
+A seconda della vostra configurazione locale, il sistema può fornire dettagliate indicazioni di pre installazione.
+Avviate lo script in modalità --pretend --verbose, vi permette una configurazione ottimale, fermatevi qui qualche minuto:
+
+ROOT # webapp-config -VP <TAB> <TAB>
+Nota che il comando permette l'auto completamento tramite il tasto tab:
+ROOT # webapp-config -VP postfixadmin $version <INVIO>
+########################################################
+Il file di configurazione '/etc/vhosts/webapp-config' permette di impostare i permessi sui file e quindi possibile assegnare uid,gid ecc, a seconda delle vostre necessità.
+
+Installare postfixadmin con il comando;
+ROOT # webapp-config -VI postfix<TAB> <TAB> <INVIO>
+
+:D
+
+Terminata questa fase vi fornirà la posizione dei file nella cartella di default /var/www/miohost.miodominio.tld/../postfixadmin/
+
+Arrivati a questo siamo pronti per avviare la fase finale e critica del procedimento di bootstrap del database postfix utilizzando postfixadmin!
+
+7. Configurazine di Postfix Admin in /var/www/serverdiposta.tuodominio.tld
+
+Il file di configurazione config.local.php, viene modificato per collegare e/o accedere al database scelto e fare un avvio delle nuove tabelle che verranno manipolate in seguito dalla "configurazione postfix".
+Il database di postfix Admin viene collegato usando questo file, si evita di perdere tempo con la modifica del file config.inc.php
+
+FILE: /var/www/mail.miodominio.tld/htdocs/postfixadmin/config.local.php
+
+<?php
+$CONF['configured'] = true;
+$CONF['postfix_admin_url'] = 'http://miodominio.tld/';
+
+$CONF['database_type'] = 'pgsql';
+$CONF['database_host'] = 'localhost';
+$CONF['database_user'] = 'postfix';
+$CONF['database_password'] = '$tour_database_user_password';
+$CONF['database_name'] = 'postfix';
+$CONF['database_prefix'] = '';
+$CONF['domain_path'] = 'YES';
+ $CONF['domain_in_mailbox'] = 'NO';
+ $CONF['transport'] = 'YES';
+ $CONF['default_aliases'] = array (
+ 'abuse' => 'abuse@miodominio.tld',
+ 'hostmaster' => 'hostmaster@miodominio.tld',
+ 'postmaster' => 'postmaster@miodominio.tld',
+ 'webmaster' => 'webmaster@miodominio.tld'
+ );
+
+ $CONF['fetchmail'] = 'NO';
+ $CONF['show_footer_text'] = 'NO';
+
+ $CONF['quota'] = 'NO';
+ $CONF['domain_quota'] = 'NO';
+ $CONF['quota_multiplier'] = '1024000';
+ $CONF['used_quotas'] = 'NO';
+ $CONF['new_quota_table'] = 'NO';
+
+ $CONF['aliases'] = '0';
+ $CONF['mailboxes'] = '0';
+ $CONF['maxquota'] = '0';
+ $CONF['domain_quota_default'] = '0';
+ ini_set('error_log', '/tmp/postfixadmin.log');
+ ?>
+
+In questo file è presente una configurazione di partenza che andrà riveduta per adattare le proprie esigenze, come verrà mostrato da https://wiki.gentoo.org/wiki/Complete_Virtual_Mail_Server
+
+Primo avvio di postfixadmin:
+
+Prestare attenzione al file di log dedicato usando la variabile
+ini_set('error_log', '/tmp/postfixadmin.log'); di conf.local.php
+
+ROOT # tail -f /tmp/postfixadmin.log
+
+Tenere aperto un terminale per verificare il funzionamento di postfixadmin, nel caso di errori tipici.
+https://expressionengine.stackexchange.com/questions/41839/uncaught-error-class-pdo-not-found-when-i-upgrade-to-php-7-2
+
+-Dal browser, puntare alla pagina setup.php nel vhost configurato...
+
+-Generndo la setup password e copiala nel tuo config.local.php, seguendo le indicazioni nella pagina del setup.php appare la riga del $hash generato, selezionate la riga per intero.
+
+Esempio di stringa:
+$CONF['setup_password'] = '$2y$10$TWPJHYO7e2pJDxeTBOot8.lA/....';
+
+-Ricaricare setup.php
+Questo è il passaggio crucile, se tutto è stato configurato alla Gentoo way, inserisci la tua setup password ed avvia il procedimento di BOOTSTRAP del database Postfix Admin.
+
+A questo punto se vi sono errori di connessione non si vedrà nulla apparire sotto "Hosting Environment Check" e probabilmente il registro avrà emesso un qualche tipo di errore, controllate il vostro file /tmp/postfixadmin.log
+
+Se tutto funziona si vedrà in azione il processo di bootstrap!
+
+Information
+
+ ✅ PHP version - 8.2.24
+ ✅ Webserver - Apache
+ ✅ Postfixadmin installed at - /var/www/mail.miodominio.tld/htdocs/postfixadmin/public
+ ✅ PHP Error log (error_log) is - /tmp/postfixadmin.log
+ ✅ config.local.php file found : /var/www/mail.miodominio.tld/htdocs/postfixadmin/config.local.php
+ ✅ Database - MySQL (pdo_mysql) extension not found
+ ✅ Database - PostgreSQL support available
+ ✅ Password hashing - $CONF["encrypt"] = md5crypt
+ ✅ Password hashing - $CONF["encrypt"] - hash generation OK
+ ✅ Database connection configured OK (using PDO pgsql:dbname=postfix;host=localhost;options='-c client_encoding=utf8')
+ ✅ Database connection - Connected OK
+ ✅ Depends on: PHP session support - OK
+ ✅ Depends on: PHP pcre support - OK
+ ✅ Depends on: PHP mbstring support - OK
+ ✅ Optional - PHP IMAP functions - OK
+
+Benissimo ragazzi, questa parte del cheat sheet per installare Postfix Admin è conclusa, scorrendo tutta la pagina del setup.php otterrete tutte le informazioni necessarie per proseguire nella configurazione di Postfix.
' |
Lines added in edit (added_lines) | [
0 => 'Configurare un server di posta elettronica personale:',
1 => '',
2 => 'Requisiti di configurazione iniziale utilizzando uno schema di server Apache & PostGreSQL con PHP, funzionante seguendo i seguenti passi (cheat sheet):',
3 => '',
4 => '1. Partendo da un sistema fresco è necessario configurare Portage nel make,conf e nella cartella package.use affinchè il processo di emerge raccolga tutte le necessarie configurazioni per rendere il vostro nuovo sistema server funzionante con PHP/Apache e un database per far funzionare la web app Postfixadmin usando il vostro vhost di preferenza, cominciamo definendo le USE flag globali:',
5 => '',
6 => 'FILE '/etc/portage/make.conf':',
7 => '##############',
8 => 'USE=" sockets crypt bzip2 imap maildir sasl ssl urandom vhosts postgres apache2 nls acl sendmail "',
9 => '##############################################################################',
10 => 'Applicare le modifiche tenendo conto che è una guida predefinita richiede una selezione ragionata sugli script che devono venire installati, e poi modificati o verificati manualmente, in questo modo impariamo un metodo per utilizzare la distribuzione Gentoo in ogni contesto.',
11 => '',
12 => '2. Passiamo alla configurazione delle USE flag per cartella, creare un file contenente le seguenti righe:',
13 => '',
14 => 'FILE '/etc/portage/package.use/Mailserver',
15 => '#########################################',
16 => 'dev-lang/php pdo fpm ldap-sasl ldap soap xmlreader xmlwriter',
17 => 'app-eselect/eselect-php apache2',
18 => 'www-apps/postfixadmin -mysql',
19 => '',
20 => 'Bene, controlla il flag USE qui sopra in base alle tue esigenze, quindi inizia a installare la raccolta di pacchetti sul tuo nuovo server di posta.',
21 => '',
22 => 'ROOT # emerge -pv php',
23 => '#Mostra un risultato simile:',
24 => 'dev-lang/php::gentoo USE="acl apache2 bzip2 cli ctype fileinfo filter flatfile fpm gdbm iconv imap jit ldap ldap-sasl nls opcache pdo phar posix poostgres readl#ine session simplexml soap sockets ssl tokenizer unicode xml xmlreader xmlwriter zlib ...',
25 => '',
26 => 'la USE flag PDO deve essere presente',
27 => 'https://packages.gentoo.org/useflags/pdo',
28 => '',
29 => '',
30 => '',
31 => '',
32 => '3. Emergere tutto il software in una volta per il sistema di base Mailserver Apache PHP PostGreSQL Dovecot Postfix:',
33 => '',
34 => ' Portage #world set:',
35 => '#######################',
36 => 'app-admin/webapp-config',
37 => 'app-crypt/certbot',
38 => 'app-eselect/eselect-php',
39 => 'dev-lang/php',
40 => 'mail-mta/postfix',
41 => 'net-mail/dovecot',
42 => 'www-apps/postfixadmin',
43 => 'www-servers/apache',
44 => '',
45 => 'COSÌ PUOI CARICARE QUESTO ELENCO NEL TUO SET @WORLD, ASSICURATI DI INSTALLARE TUTTO IL NECESSARIO PER ESEGUIRE PHP SU APACHE, e POSTFIXADMIN. VAI AVANTI!',
46 => '',
47 => '4. Buona norma vuole che si utilizzi 'emerge --pretend --verbose' per verificare l'effettiva configurazione impostata:',
48 => '#########################################ge.',
49 => '',
50 => 'ROOT # emerge -pv --changed-use --deep @world',
51 => '',
52 => 'Se il risultato rispecchia le USE flag impostate, procedete, altrimenti sarà necessario fermarsi per risolvere il problema rilevato da Portage.',
53 => '',
54 => '5. Configurazione script di OpenRC',
55 => 'Tutto quello che si dovrebbe fare qui è verificare gli script di init per i vari servizi installati, aggiungere al runlevel 'default' e riavviare o avviare i servizi soggetti alle modifiche di seguito elencate al paragrafo 6.',
56 => '',
57 => 'Files:',
58 => '/etc/conf.d/:',
59 => ' Controlla: 'postgresql-$version' #Servizio database scelto. Il default può andare bene.',
60 => '',
61 => 'Modifica: 'apache2' #Servizio web scelto da configurare , almeno con i seguenti moduli;.',
62 => '#############################################################################',
63 => 'APACHE2_OPTS="-D PHP -D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D LANGUAGE"',
64 => '##############################################################################',
65 => '',
66 => 'Nota: le pagine con estensione .php non funzionano se il server web, non carica il modulo '-D PHP', questo deve essere sempre verificato dopo una installazione fresca di Gentoo.',
67 => '',
68 => '',
69 => '6. Configurazione in /etc',
70 => 'Controllare la presenza dei file di configurazione nelle cartelle, modificare a seconda del proprio hostame e dominio, questi file devono essere controllati prima di avviare qualsiasi servizio;',
71 => ''/etc/postgresql-17/pg_hba.conf' ed anche 'postgresql.conf'',
72 => 'Per proseguire dovrai prima leggere questo articolo:',
73 => 'https://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Preparing_to_initialize_the_database_cluster',
74 => '',
75 => 'Se hai seguito i passaggi nella wiki per fare il bootstrap di PostgreSQL, allora sai come funziona un database e puoi procedere con la creazione di un utente e un database che userai collegato a Postfix Admin.',
76 => '',
77 => 'Creare un utente nel database:',
78 => 'https://wiki.gentoo.org/wiki/PostgreSQL#Adding_a_User',
79 => 'https://github.com/postfixadmin/postfixadmin/blob/master/INSTALL.TXT',
80 => '',
81 => 'I comandi da usare sono due,primo, entra nella shell di postgresql:',
82 => 'pgsql -U postgres -d postgres',
83 => '',
84 => 'Dovrai scegliere un nome per il tuo nuovo utente e database, i quali possono essere diversi da 'postfix':',
85 => '',
86 => 'pgsql#> CREATE USER postfix WITH PASSWORD 'whatever';',
87 => 'pgsql#> CREATE DATABASE postfix OWNER postfix ENCODING 'unicode';',
88 => '',
89 => 'Uscire con \q',
90 => '',
91 => '',
92 => 'files in '/etc/apache2/':',
93 => '-. httpd.conf #file principale, la configurazione del dominio virtuale va creata da zero, con un file posto in '/etc/apache2/vhosts.d':',
94 => '',
95 => '-.VHOST APACHE CONF; Verrà modificato in seguito contestualmente alla installazione di Postfix Admin',
96 => '',
97 => '',
98 => 'Un riavvio dei servizi apache2 e postgresql usando rc-service prima di passare alla installazione di webapp postfixadmin...',
99 => '',
100 => 'A seconda della vostra configurazione locale, il sistema può fornire dettagliate indicazioni di pre installazione.',
101 => 'Avviate lo script in modalità --pretend --verbose, vi permette una configurazione ottimale, fermatevi qui qualche minuto:',
102 => '',
103 => 'ROOT # webapp-config -VP <TAB> <TAB>',
104 => 'Nota che il comando permette l'auto completamento tramite il tasto tab:',
105 => 'ROOT # webapp-config -VP postfixadmin $version <INVIO>',
106 => '########################################################',
107 => 'Il file di configurazione '/etc/vhosts/webapp-config' permette di impostare i permessi sui file e quindi possibile assegnare uid,gid ecc, a seconda delle vostre necessità.',
108 => '',
109 => 'Installare postfixadmin con il comando;',
110 => 'ROOT # webapp-config -VI postfix<TAB> <TAB> <INVIO>',
111 => '',
112 => ':D',
113 => '',
114 => 'Terminata questa fase vi fornirà la posizione dei file nella cartella di default /var/www/miohost.miodominio.tld/../postfixadmin/',
115 => '',
116 => 'Arrivati a questo siamo pronti per avviare la fase finale e critica del procedimento di bootstrap del database postfix utilizzando postfixadmin!',
117 => '',
118 => '7. Configurazine di Postfix Admin in /var/www/serverdiposta.tuodominio.tld',
119 => '',
120 => 'Il file di configurazione config.local.php, viene modificato per collegare e/o accedere al database scelto e fare un avvio delle nuove tabelle che verranno manipolate in seguito dalla "configurazione postfix".',
121 => 'Il database di postfix Admin viene collegato usando questo file, si evita di perdere tempo con la modifica del file config.inc.php',
122 => '',
123 => 'FILE: /var/www/mail.miodominio.tld/htdocs/postfixadmin/config.local.php',
124 => '',
125 => '<?php',
126 => '$CONF['configured'] = true;',
127 => '$CONF['postfix_admin_url'] = 'http://miodominio.tld/';',
128 => '',
129 => '$CONF['database_type'] = 'pgsql';',
130 => '$CONF['database_host'] = 'localhost';',
131 => '$CONF['database_user'] = 'postfix';',
132 => '$CONF['database_password'] = '$tour_database_user_password';',
133 => '$CONF['database_name'] = 'postfix';',
134 => '$CONF['database_prefix'] = '';',
135 => '$CONF['domain_path'] = 'YES';',
136 => ' $CONF['domain_in_mailbox'] = 'NO';',
137 => ' $CONF['transport'] = 'YES';',
138 => ' $CONF['default_aliases'] = array (',
139 => ' 'abuse' => 'abuse@miodominio.tld',',
140 => ' 'hostmaster' => 'hostmaster@miodominio.tld',',
141 => ' 'postmaster' => 'postmaster@miodominio.tld',',
142 => ' 'webmaster' => 'webmaster@miodominio.tld'',
143 => ' );',
144 => '',
145 => ' $CONF['fetchmail'] = 'NO';',
146 => ' $CONF['show_footer_text'] = 'NO';',
147 => '',
148 => ' $CONF['quota'] = 'NO';',
149 => ' $CONF['domain_quota'] = 'NO';',
150 => ' $CONF['quota_multiplier'] = '1024000';',
151 => ' $CONF['used_quotas'] = 'NO';',
152 => ' $CONF['new_quota_table'] = 'NO';',
153 => '',
154 => ' $CONF['aliases'] = '0';',
155 => ' $CONF['mailboxes'] = '0';',
156 => ' $CONF['maxquota'] = '0';',
157 => ' $CONF['domain_quota_default'] = '0';',
158 => ' ini_set('error_log', '/tmp/postfixadmin.log');',
159 => ' ?>',
160 => '',
161 => 'In questo file è presente una configurazione di partenza che andrà riveduta per adattare le proprie esigenze, come verrà mostrato da https://wiki.gentoo.org/wiki/Complete_Virtual_Mail_Server',
162 => '',
163 => 'Primo avvio di postfixadmin:',
164 => '',
165 => 'Prestare attenzione al file di log dedicato usando la variabile',
166 => 'ini_set('error_log', '/tmp/postfixadmin.log'); di conf.local.php',
167 => '',
168 => 'ROOT # tail -f /tmp/postfixadmin.log',
169 => '',
170 => 'Tenere aperto un terminale per verificare il funzionamento di postfixadmin, nel caso di errori tipici.',
171 => 'https://expressionengine.stackexchange.com/questions/41839/uncaught-error-class-pdo-not-found-when-i-upgrade-to-php-7-2',
172 => '',
173 => '-Dal browser, puntare alla pagina setup.php nel vhost configurato...',
174 => '',
175 => '-Generndo la setup password e copiala nel tuo config.local.php, seguendo le indicazioni nella pagina del setup.php appare la riga del $hash generato, selezionate la riga per intero.',
176 => '',
177 => 'Esempio di stringa:',
178 => '$CONF['setup_password'] = '$2y$10$TWPJHYO7e2pJDxeTBOot8.lA/....';',
179 => '',
180 => '-Ricaricare setup.php',
181 => 'Questo è il passaggio crucile, se tutto è stato configurato alla Gentoo way, inserisci la tua setup password ed avvia il procedimento di BOOTSTRAP del database Postfix Admin.',
182 => '',
183 => 'A questo punto se vi sono errori di connessione non si vedrà nulla apparire sotto "Hosting Environment Check" e probabilmente il registro avrà emesso un qualche tipo di errore, controllate il vostro file /tmp/postfixadmin.log',
184 => '',
185 => 'Se tutto funziona si vedrà in azione il processo di bootstrap!',
186 => '',
187 => 'Information',
188 => '',
189 => ' ✅ PHP version - 8.2.24',
190 => ' ✅ Webserver - Apache',
191 => ' ✅ Postfixadmin installed at - /var/www/mail.miodominio.tld/htdocs/postfixadmin/public',
192 => ' ✅ PHP Error log (error_log) is - /tmp/postfixadmin.log',
193 => ' ✅ config.local.php file found : /var/www/mail.miodominio.tld/htdocs/postfixadmin/config.local.php',
194 => ' ✅ Database - MySQL (pdo_mysql) extension not found',
195 => ' ✅ Database - PostgreSQL support available',
196 => ' ✅ Password hashing - $CONF["encrypt"] = md5crypt',
197 => ' ✅ Password hashing - $CONF["encrypt"] - hash generation OK',
198 => ' ✅ Database connection configured OK (using PDO pgsql:dbname=postfix;host=localhost;options='-c client_encoding=utf8')',
199 => ' ✅ Database connection - Connected OK',
200 => ' ✅ Depends on: PHP session support - OK',
201 => ' ✅ Depends on: PHP pcre support - OK',
202 => ' ✅ Depends on: PHP mbstring support - OK',
203 => ' ✅ Optional - PHP IMAP functions - OK',
204 => '',
205 => 'Benissimo ragazzi, questa parte del cheat sheet per installare Postfix Admin è conclusa, scorrendo tutta la pagina del setup.php otterrete tutte le informazioni necessarie per proseguire nella configurazione di Postfix.'
] |
New page text, stripped of any markup (new_text) | 'Configurare un server di posta elettronica personale:
Requisiti di configurazione iniziale utilizzando uno schema di server Apache & PostGreSQL con PHP, funzionante seguendo i seguenti passi (cheat sheet):
1. Partendo da un sistema fresco è necessario configurare Portage nel make,conf e nella cartella package.use affinchè il processo di emerge raccolga tutte le necessarie configurazioni per rendere il vostro nuovo sistema server funzionante con PHP/Apache e un database per far funzionare la web app Postfixadmin usando il vostro vhost di preferenza, cominciamo definendo le USE flag globali:
FILE '/etc/portage/make.conf':
USE=" sockets crypt bzip2 imap maildir sasl ssl urandom vhosts postgres apache2 nls acl sendmail "
Applicare le modifiche tenendo conto che è una guida predefinita richiede una selezione ragionata sugli script che devono venire installati, e poi modificati o verificati manualmente, in questo modo impariamo un metodo per utilizzare la distribuzione Gentoo in ogni contesto.
2. Passiamo alla configurazione delle USE flag per cartella, creare un file contenente le seguenti righe:
FILE '/etc/portage/package.use/Mailserver
dev-lang/php pdo fpm ldap-sasl ldap soap xmlreader xmlwriter
app-eselect/eselect-php apache2
www-apps/postfixadmin -mysql
Bene, controlla il flag USE qui sopra in base alle tue esigenze, quindi inizia a installare la raccolta di pacchetti sul tuo nuovo server di posta.
ROOT # emerge -pv php
Mostra un risultato simile:
dev-lang/php::gentoo USE="acl apache2 bzip2 cli ctype fileinfo filter flatfile fpm gdbm iconv imap jit ldap ldap-sasl nls opcache pdo phar posix poostgres readl#ine session simplexml soap sockets ssl tokenizer unicode xml xmlreader xmlwriter zlib ...
la USE flag PDO deve essere presente
https://packages.gentoo.org/useflags/pdo
3. Emergere tutto il software in una volta per il sistema di base Mailserver Apache PHP PostGreSQL Dovecot Postfix:
Portage #world set:
app-admin/webapp-config
app-crypt/certbot
app-eselect/eselect-php
dev-lang/php
mail-mta/postfix
net-mail/dovecot
www-apps/postfixadmin
www-servers/apache
COSÌ PUOI CARICARE QUESTO ELENCO NEL TUO SET @WORLD, ASSICURATI DI INSTALLARE TUTTO IL NECESSARIO PER ESEGUIRE PHP SU APACHE, e POSTFIXADMIN. VAI AVANTI!
4. Buona norma vuole che si utilizzi 'emerge --pretend --verbose' per verificare l'effettiva configurazione impostata:
ge.
ROOT # emerge -pv --changed-use --deep @world
Se il risultato rispecchia le USE flag impostate, procedete, altrimenti sarà necessario fermarsi per risolvere il problema rilevato da Portage.
5. Configurazione script di OpenRC
Tutto quello che si dovrebbe fare qui è verificare gli script di init per i vari servizi installati, aggiungere al runlevel 'default' e riavviare o avviare i servizi soggetti alle modifiche di seguito elencate al paragrafo 6.
Files:
/etc/conf.d/:
Controlla: 'postgresql-$version' #Servizio database scelto. Il default può andare bene.
Modifica: 'apache2' #Servizio web scelto da configurare , almeno con i seguenti moduli;.
APACHE2_OPTS="-D PHP -D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D LANGUAGE"
Nota: le pagine con estensione .php non funzionano se il server web, non carica il modulo '-D PHP', questo deve essere sempre verificato dopo una installazione fresca di Gentoo.
6. Configurazione in /etc
Controllare la presenza dei file di configurazione nelle cartelle, modificare a seconda del proprio hostame e dominio, questi file devono essere controllati prima di avviare qualsiasi servizio;
'/etc/postgresql-17/pg_hba.conf' ed anche 'postgresql.conf'
Per proseguire dovrai prima leggere questo articolo:
https://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Preparing_to_initialize_the_database_cluster
Se hai seguito i passaggi nella wiki per fare il bootstrap di PostgreSQL, allora sai come funziona un database e puoi procedere con la creazione di un utente e un database che userai collegato a Postfix Admin.
Creare un utente nel database:
https://wiki.gentoo.org/wiki/PostgreSQL#Adding_a_User
https://github.com/postfixadmin/postfixadmin/blob/master/INSTALL.TXT
I comandi da usare sono due,primo, entra nella shell di postgresql:
pgsql -U postgres -d postgres
Dovrai scegliere un nome per il tuo nuovo utente e database, i quali possono essere diversi da 'postfix':
pgsql#> CREATE USER postfix WITH PASSWORD 'whatever';
pgsql#> CREATE DATABASE postfix OWNER postfix ENCODING 'unicode';
Uscire con \q
files in '/etc/apache2/':
-. httpd.conf #file principale, la configurazione del dominio virtuale va creata da zero, con un file posto in '/etc/apache2/vhosts.d':
-.VHOST APACHE CONF; Verrà modificato in seguito contestualmente alla installazione di Postfix Admin
Un riavvio dei servizi apache2 e postgresql usando rc-service prima di passare alla installazione di webapp postfixadmin...
A seconda della vostra configurazione locale, il sistema può fornire dettagliate indicazioni di pre installazione.
Avviate lo script in modalità --pretend --verbose, vi permette una configurazione ottimale, fermatevi qui qualche minuto:
ROOT # webapp-config -VP <TAB> <TAB>
Nota che il comando permette l'auto completamento tramite il tasto tab:
ROOT # webapp-config -VP postfixadmin $version <INVIO>
Il file di configurazione '/etc/vhosts/webapp-config' permette di impostare i permessi sui file e quindi possibile assegnare uid,gid ecc, a seconda delle vostre necessità.
Installare postfixadmin con il comando;
ROOT # webapp-config -VI postfix<TAB> <TAB> <INVIO>
D
Terminata questa fase vi fornirà la posizione dei file nella cartella di default /var/www/miohost.miodominio.tld/../postfixadmin/
Arrivati a questo siamo pronti per avviare la fase finale e critica del procedimento di bootstrap del database postfix utilizzando postfixadmin!
7. Configurazine di Postfix Admin in /var/www/serverdiposta.tuodominio.tld
Il file di configurazione config.local.php, viene modificato per collegare e/o accedere al database scelto e fare un avvio delle nuove tabelle che verranno manipolate in seguito dalla "configurazione postfix".
Il database di postfix Admin viene collegato usando questo file, si evita di perdere tempo con la modifica del file config.inc.php
FILE: /var/www/mail.miodominio.tld/htdocs/postfixadmin/config.local.php
<?php
$CONF['configured'] = true;
$CONF['postfix_admin_url'] = 'http://miodominio.tld/';
$CONF['database_type'] = 'pgsql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = '$tour_database_user_password';
$CONF['database_name'] = 'postfix';
$CONF['database_prefix'] = ;
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';
$CONF['transport'] = 'YES';
$CONF['default_aliases'] = array (
'abuse' => 'abuse@miodominio.tld',
'hostmaster' => 'hostmaster@miodominio.tld',
'postmaster' => 'postmaster@miodominio.tld',
'webmaster' => 'webmaster@miodominio.tld'
);
$CONF['fetchmail'] = 'NO';
$CONF['show_footer_text'] = 'NO';
$CONF['quota'] = 'NO';
$CONF['domain_quota'] = 'NO';
$CONF['quota_multiplier'] = '1024000';
$CONF['used_quotas'] = 'NO';
$CONF['new_quota_table'] = 'NO';
$CONF['aliases'] = '0';
$CONF['mailboxes'] = '0';
$CONF['maxquota'] = '0';
$CONF['domain_quota_default'] = '0';
ini_set('error_log', '/tmp/postfixadmin.log');
?>
In questo file è presente una configurazione di partenza che andrà riveduta per adattare le proprie esigenze, come verrà mostrato da https://wiki.gentoo.org/wiki/Complete_Virtual_Mail_Server
Primo avvio di postfixadmin:
Prestare attenzione al file di log dedicato usando la variabile
ini_set('error_log', '/tmp/postfixadmin.log'); di conf.local.php
ROOT # tail -f /tmp/postfixadmin.log
Tenere aperto un terminale per verificare il funzionamento di postfixadmin, nel caso di errori tipici.
https://expressionengine.stackexchange.com/questions/41839/uncaught-error-class-pdo-not-found-when-i-upgrade-to-php-7-2
-Dal browser, puntare alla pagina setup.php nel vhost configurato...
-Generndo la setup password e copiala nel tuo config.local.php, seguendo le indicazioni nella pagina del setup.php appare la riga del $hash generato, selezionate la riga per intero.
Esempio di stringa:
$CONF['setup_password'] = '$2y$10$TWPJHYO7e2pJDxeTBOot8.lA/....';
-Ricaricare setup.php
Questo è il passaggio crucile, se tutto è stato configurato alla Gentoo way, inserisci la tua setup password ed avvia il procedimento di BOOTSTRAP del database Postfix Admin.
A questo punto se vi sono errori di connessione non si vedrà nulla apparire sotto "Hosting Environment Check" e probabilmente il registro avrà emesso un qualche tipo di errore, controllate il vostro file /tmp/postfixadmin.log
Se tutto funziona si vedrà in azione il processo di bootstrap!
Information
✅ PHP version - 8.2.24
✅ Webserver - Apache
✅ Postfixadmin installed at - /var/www/mail.miodominio.tld/htdocs/postfixadmin/public
✅ PHP Error log (error_log) is - /tmp/postfixadmin.log
✅ config.local.php file found : /var/www/mail.miodominio.tld/htdocs/postfixadmin/config.local.php
✅ Database - MySQL (pdo_mysql) extension not found
✅ Database - PostgreSQL support available
✅ Password hashing - $CONF["encrypt"] = md5crypt
✅ Password hashing - $CONF["encrypt"] - hash generation OK
✅ Database connection configured OK (using PDO pgsql:dbname=postfix;host=localhost;options='-c client_encoding=utf8')
✅ Database connection - Connected OK
✅ Depends on: PHP session support - OK
✅ Depends on: PHP pcre support - OK
✅ Depends on: PHP mbstring support - OK
✅ Optional - PHP IMAP functions - OK
Benissimo ragazzi, questa parte del cheat sheet per installare Postfix Admin è conclusa, scorrendo tutta la pagina del setup.php otterrete tutte le informazioni necessarie per proseguire nella configurazione di Postfix.' |
Parsed HTML source of the new revision (new_html) | '<div class="mw-parser-output"><p>Configurare un server di posta elettronica personale:
</p><p>Requisiti di configurazione iniziale utilizzando uno schema di server Apache & PostGreSQL con PHP, funzionante seguendo i seguenti passi (cheat sheet):
</p><p>1. Partendo da un sistema fresco è necessario configurare Portage nel make,conf e nella cartella package.use affinchè il processo di emerge raccolga tutte le necessarie configurazioni per rendere il vostro nuovo sistema server funzionante con PHP/Apache e un database per far funzionare la web app Postfixadmin usando il vostro vhost di preferenza, cominciamo definendo le USE flag globali:
</p><p>FILE '/etc/portage/make.conf':
</p>
<ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li class="mw-empty-elt"></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol>
<p>USE=" sockets crypt bzip2 imap maildir sasl ssl urandom vhosts postgres apache2 nls acl sendmail "
</p>
<ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li class="mw-empty-elt"></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol>
<p>Applicare le modifiche tenendo conto che è una guida predefinita richiede una selezione ragionata sugli script che devono venire installati, e poi modificati o verificati manualmente, in questo modo impariamo un metodo per utilizzare la distribuzione Gentoo in ogni contesto.
</p><p>2. Passiamo alla configurazione delle USE flag per cartella, creare un file contenente le seguenti righe:
</p><p>FILE '/etc/portage/package.use/Mailserver
</p>
<ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li class="mw-empty-elt"></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol>
<p>dev-lang/php pdo fpm ldap-sasl ldap soap xmlreader xmlwriter
app-eselect/eselect-php apache2
www-apps/postfixadmin -mysql
</p><p>Bene, controlla il flag USE qui sopra in base alle tue esigenze, quindi inizia a installare la raccolta di pacchetti sul tuo nuovo server di posta.
</p><p>ROOT # emerge -pv php
</p>
<ol><li>Mostra un risultato simile:</li></ol>
<p>dev-lang/php::gentoo USE="acl apache2 bzip2 cli ctype fileinfo filter flatfile fpm gdbm iconv imap jit ldap ldap-sasl nls opcache pdo phar posix poostgres readl#ine session simplexml soap sockets ssl tokenizer unicode xml xmlreader xmlwriter zlib ...
</p><p>la USE flag PDO deve essere presente
<a rel="nofollow" class="external free" href="https://packages.gentoo.org/useflags/pdo">https://packages.gentoo.org/useflags/pdo</a>
</p><p><br />
</p><p><br />
3. Emergere tutto il software in una volta per il sistema di base Mailserver Apache PHP PostGreSQL Dovecot Postfix:
</p>
<pre>Portage #world set:
</pre>
<ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li class="mw-empty-elt"></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol>
<p>app-admin/webapp-config
app-crypt/certbot
app-eselect/eselect-php
dev-lang/php
mail-mta/postfix
net-mail/dovecot
www-apps/postfixadmin
www-servers/apache
</p><p>COSÌ PUOI CARICARE QUESTO ELENCO NEL TUO SET @WORLD, ASSICURATI DI INSTALLARE TUTTO IL NECESSARIO PER ESEGUIRE PHP SU APACHE, e POSTFIXADMIN. VAI AVANTI!
</p><p>4. Buona norma vuole che si utilizzi 'emerge --pretend --verbose' per verificare l'effettiva configurazione impostata:
</p>
<ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li>ge.</li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol>
<p>ROOT # emerge -pv --changed-use --deep @world
</p><p>Se il risultato rispecchia le USE flag impostate, procedete, altrimenti sarà necessario fermarsi per risolvere il problema rilevato da Portage.
</p><p>5. Configurazione script di OpenRC
Tutto quello che si dovrebbe fare qui è verificare gli script di init per i vari servizi installati, aggiungere al runlevel 'default' e riavviare o avviare i servizi soggetti alle modifiche di seguito elencate al paragrafo 6.
</p><p>Files:
/etc/conf.d/:
</p>
<pre>Controlla: 'postgresql-$version' #Servizio database scelto. Il default può andare bene.
</pre>
<p>Modifica: 'apache2' #Servizio web scelto da configurare , almeno con i seguenti moduli;.
</p>
<ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li class="mw-empty-elt"></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol>
<p>APACHE2_OPTS="-D PHP -D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D LANGUAGE"
</p>
<ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li class="mw-empty-elt"></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol>
<p>Nota: le pagine con estensione .php non funzionano se il server web, non carica il modulo '-D PHP', questo deve essere sempre verificato dopo una installazione fresca di Gentoo.
</p><p><br />
6. Configurazione in /etc
Controllare la presenza dei file di configurazione nelle cartelle, modificare a seconda del proprio hostame e dominio, questi file devono essere controllati prima di avviare qualsiasi servizio;
'/etc/postgresql-17/pg_hba.conf' ed anche 'postgresql.conf'
Per proseguire dovrai prima leggere questo articolo:
<a rel="nofollow" class="external free" href="https://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Preparing_to_initialize_the_database_cluster">https://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Preparing_to_initialize_the_database_cluster</a>
</p><p>Se hai seguito i passaggi nella wiki per fare il bootstrap di PostgreSQL, allora sai come funziona un database e puoi procedere con la creazione di un utente e un database che userai collegato a Postfix Admin.
</p><p>Creare un utente nel database:
<a rel="nofollow" class="external free" href="https://wiki.gentoo.org/wiki/PostgreSQL#Adding_a_User">https://wiki.gentoo.org/wiki/PostgreSQL#Adding_a_User</a>
<a rel="nofollow" class="external free" href="https://github.com/postfixadmin/postfixadmin/blob/master/INSTALL.TXT">https://github.com/postfixadmin/postfixadmin/blob/master/INSTALL.TXT</a>
</p><p>I comandi da usare sono due,primo, entra nella shell di postgresql:
pgsql -U postgres -d postgres
</p><p>Dovrai scegliere un nome per il tuo nuovo utente e database, i quali possono essere diversi da 'postfix':
</p><p>pgsql#> CREATE USER postfix WITH PASSWORD 'whatever';
pgsql#> CREATE DATABASE postfix OWNER postfix ENCODING 'unicode';
</p><p>Uscire con \q
</p><p><br />
files in '/etc/apache2/':
-. httpd.conf #file principale, la configurazione del dominio virtuale va creata da zero, con un file posto in '/etc/apache2/vhosts.d':
</p><p>-.VHOST APACHE CONF; Verrà modificato in seguito contestualmente alla installazione di Postfix Admin
</p><p><br />
Un riavvio dei servizi apache2 e postgresql usando rc-service prima di passare alla installazione di webapp postfixadmin...
</p><p>A seconda della vostra configurazione locale, il sistema può fornire dettagliate indicazioni di pre installazione.
Avviate lo script in modalità --pretend --verbose, vi permette una configurazione ottimale, fermatevi qui qualche minuto:
</p><p>ROOT # webapp-config -VP <TAB> <TAB>
Nota che il comando permette l'auto completamento tramite il tasto tab:
ROOT # webapp-config -VP postfixadmin $version <INVIO>
</p>
<ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li><ol><li class="mw-empty-elt"></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol></li></ol>
<p>Il file di configurazione '/etc/vhosts/webapp-config' permette di impostare i permessi sui file e quindi possibile assegnare uid,gid ecc, a seconda delle vostre necessità.
</p><p>Installare postfixadmin con il comando;
ROOT # webapp-config -VI postfix<TAB> <TAB> <INVIO>
</p>
<dl><dd>D</dd></dl>
<p>Terminata questa fase vi fornirà la posizione dei file nella cartella di default /var/www/miohost.miodominio.tld/../postfixadmin/
</p><p>Arrivati a questo siamo pronti per avviare la fase finale e critica del procedimento di bootstrap del database postfix utilizzando postfixadmin!
</p><p>7. Configurazine di Postfix Admin in /var/www/serverdiposta.tuodominio.tld
</p><p>Il file di configurazione config.local.php, viene modificato per collegare e/o accedere al database scelto e fare un avvio delle nuove tabelle che verranno manipolate in seguito dalla "configurazione postfix".
Il database di postfix Admin viene collegato usando questo file, si evita di perdere tempo con la modifica del file config.inc.php
</p><p>FILE: /var/www/mail.miodominio.tld/htdocs/postfixadmin/config.local.php
</p><p><?php
$CONF['configured'] = true;
$CONF['postfix_admin_url'] = '<a rel="nofollow" class="external free" href="http://miodominio.tld/'">http://miodominio.tld/'</a>;
</p><p>$CONF['database_type'] = 'pgsql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = '$tour_database_user_password';
$CONF['database_name'] = 'postfix';
$CONF['database_prefix'] = <i>;</i>
$CONF['domain_path'] = 'YES';
</p>
<pre>$CONF['domain_in_mailbox'] = 'NO';
$CONF['transport'] = 'YES';
$CONF['default_aliases'] = array (
'abuse' => 'abuse@miodominio.tld',
'hostmaster' => 'hostmaster@miodominio.tld',
'postmaster' => 'postmaster@miodominio.tld',
'webmaster' => 'webmaster@miodominio.tld'
);
</pre>
<pre>$CONF['fetchmail'] = 'NO';
$CONF['show_footer_text'] = 'NO';
</pre>
<pre>$CONF['quota'] = 'NO';
$CONF['domain_quota'] = 'NO';
$CONF['quota_multiplier'] = '1024000';
$CONF['used_quotas'] = 'NO';
$CONF['new_quota_table'] = 'NO';
</pre>
<pre>$CONF['aliases'] = '0';
$CONF['mailboxes'] = '0';
$CONF['maxquota'] = '0';
$CONF['domain_quota_default'] = '0';
ini_set('error_log', '/tmp/postfixadmin.log');
?>
</pre>
<p>In questo file è presente una configurazione di partenza che andrà riveduta per adattare le proprie esigenze, come verrà mostrato da <a rel="nofollow" class="external free" href="https://wiki.gentoo.org/wiki/Complete_Virtual_Mail_Server">https://wiki.gentoo.org/wiki/Complete_Virtual_Mail_Server</a>
</p><p>Primo avvio di postfixadmin:
</p><p>Prestare attenzione al file di log dedicato usando la variabile
ini_set('error_log', '/tmp/postfixadmin.log'); di conf.local.php
</p><p>ROOT # tail -f /tmp/postfixadmin.log
</p><p>Tenere aperto un terminale per verificare il funzionamento di postfixadmin, nel caso di errori tipici.
<a rel="nofollow" class="external free" href="https://expressionengine.stackexchange.com/questions/41839/uncaught-error-class-pdo-not-found-when-i-upgrade-to-php-7-2">https://expressionengine.stackexchange.com/questions/41839/uncaught-error-class-pdo-not-found-when-i-upgrade-to-php-7-2</a>
</p><p>-Dal browser, puntare alla pagina setup.php nel vhost configurato...
</p><p>-Generndo la setup password e copiala nel tuo config.local.php, seguendo le indicazioni nella pagina del setup.php appare la riga del $hash generato, selezionate la riga per intero.
</p><p>Esempio di stringa:
$CONF['setup_password'] = '$2y$10$TWPJHYO7e2pJDxeTBOot8.lA/....';
</p><p>-Ricaricare setup.php
Questo è il passaggio crucile, se tutto è stato configurato alla Gentoo way, inserisci la tua setup password ed avvia il procedimento di BOOTSTRAP del database Postfix Admin.
</p><p>A questo punto se vi sono errori di connessione non si vedrà nulla apparire sotto "Hosting Environment Check" e probabilmente il registro avrà emesso un qualche tipo di errore, controllate il vostro file /tmp/postfixadmin.log
</p><p>Se tutto funziona si vedrà in azione il processo di bootstrap!
</p><p>Information
</p>
<pre> ✅ PHP version - 8.2.24
✅ Webserver - Apache
✅ Postfixadmin installed at - /var/www/mail.miodominio.tld/htdocs/postfixadmin/public
✅ PHP Error log (error_log) is - /tmp/postfixadmin.log
✅ config.local.php file found : /var/www/mail.miodominio.tld/htdocs/postfixadmin/config.local.php
✅ Database - MySQL (pdo_mysql) extension not found
✅ Database - PostgreSQL support available
✅ Password hashing - $CONF["encrypt"] = md5crypt
✅ Password hashing - $CONF["encrypt"] - hash generation OK
✅ Database connection configured OK (using PDO pgsql:dbname=postfix;host=localhost;options='-c client_encoding=utf8')
✅ Database connection - Connected OK
✅ Depends on: PHP session support - OK
✅ Depends on: PHP pcre support - OK
✅ Depends on: PHP mbstring support - OK
✅ Optional - PHP IMAP functions - OK
</pre>
<p>Benissimo ragazzi, questa parte del cheat sheet per installare Postfix Admin è conclusa, scorrendo tutta la pagina del setup.php otterrete tutte le informazioni necessarie per proseguire nella configurazione di Postfix.
</p>
' |