Tabla de Contenidos
Migracion Servidor SLSV
Esta página esta destinada a documentar la migración del sitio slsv.org de debian jessie 8 a debian buster 10 (6 Julio 2019).
Debian Jessie
root@slsv:/etc# lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 8.11 (jessie) Release: 8.11 Codename: jessie root@slsv:/etc# dpkg -l|grep php ii php-pear 5.6.40+dfsg-0+deb8u10 all PEAR - PHP Extension and Application Repository ii php5 5.6.40+dfsg-0+deb8u10 all server-side, HTML-embedded scripting language (metapackage) ii php5-cgi 5.6.40+dfsg-0+deb8u10 amd64 server-side, HTML-embedded scripting language (CGI binary) ii php5-cli 5.6.40+dfsg-0+deb8u10 amd64 command-line interpreter for the php5 scripting language ii php5-common 5.6.40+dfsg-0+deb8u10 amd64 Common files for packages built from the php5 source ii php5-curl 5.6.40+dfsg-0+deb8u10 amd64 CURL module for php5 ii php5-fpm 5.6.40+dfsg-0+deb8u10 amd64 server-side, HTML-embedded scripting language (FPM-CGI binary) ii php5-gd 5.6.40+dfsg-0+deb8u10 amd64 GD module for php5 ii php5-imap 5.6.40+dfsg-0+deb8u10 amd64 IMAP module for php5 ii php5-intl 5.6.40+dfsg-0+deb8u10 ii php5-json 1.3.6-1 amd64 JSON module for php5 ii php5-mcrypt 5.6.40+dfsg-0+deb8u10 amd64 MCrypt module for php5 ii php5-mysql 5.6.40+dfsg-0+deb8u10 amd64 MySQL module for php5 ii php5-readline 5.6.40+dfsg-0+deb8u10 amd64 Readline module for php5 root@slsv:/etc# dpkg -l|grep mysql ii dovecot-mysql 1:2.2.13-12~deb8u7 amd64 secure POP3/IMAP server - MySQL support ii libdbd-mysql-perl 4.028-2+deb8u2 amd64 Perl5 database interface to the MySQL database ii libmysqlclient18:amd64 5.5.62-0+deb8u1 amd64 MySQL database client library ii mysql-client 5.5.62-0+deb8u1 all MySQL database client (metapackage depending on the latest version) ii mysql-client-5.5 5.5.62-0+deb8u1 amd64 MySQL database client binaries ii mysql-common 5.5.62-0+deb8u1 all MySQL database common files, e.g. /etc/mysql/my.cnf ii mysql-server 5.5.62-0+deb8u1 all MySQL database server (metapackage depending on the latest version) ii mysql-server-5.5 5.5.62-0+deb8u1 amd64 MySQL database server binaries and system database setup ii mysql-server-core-5.5 5.5.62-0+deb8u1 amd64 MySQL database server binaries ii php5-mysql 5.6.40+dfsg-0+deb8u10 amd64 MySQL module for php5 ii postfix-mysql 2.11.3-1+deb8u2 amd64 MySQL map support for Postfix root@slsv:~# dpkg -l|grep mailman ii listadmin 2.40-4 all command line mailman moderator queue manipulation ii mailman 1:2.1.18-2+deb8u4 amd64 Powerful, web-based mailing list manager mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | postfix | | roundcube | | slsvorg_drupal | | slsvorg_wiki | | slsvorg_wikiosgoes | +--------------------+ 8 rows in set (0.00 sec)
Debian Buster
Aplicaciones:
- mediawiki a 1.34.2
- drupal a 9.0.1
╰─#─➤ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster ╰─#─➤ dpkg -l|grep php ii libapache2-mod-php 2:7.3+69 all server-side, HTML-embedded scripting language (Apache 2 module) (default) ii libapache2-mod-php7.3 7.3.14-1~deb10u1 amd64 server-side, HTML-embedded scripting language (Apache 2 module) ii php-common 2:69 all Common files for PHP packages ii php-curl 2:7.3+69 all CURL module for PHP [default] ii php-gd 2:7.3+69 all GD module for PHP [default] ii php-imagick 3.4.3-4.1 amd64 Provides a wrapper to the ImageMagick library ii php-intl 2:7.3+69 all Internationalisation module for PHP [default] ii php-mbstring 2:7.3+69 all MBSTRING module for PHP [default] ii php-mysql 2:7.3+69 all MySQL module for PHP [default] ii php-soap 2:7.3+69 all SOAP module for PHP [default] ii php-xml 2:7.3+69 all DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default] ii php-xmlrpc 2:7.3+69 all XMLRPC-EPI module for PHP [default] ii php-zip 2:7.3+69 all Zip module for PHP [default] ii php7.3 7.3.14-1~deb10u1 all server-side, HTML-embedded scripting language (metapackage) ii php7.3-cli 7.3.14-1~deb10u1 amd64 command-line interpreter for the PHP scripting language ii php7.3-common 7.3.14-1~deb10u1 amd64 documentation, examples and common module for PHP ii php7.3-curl 7.3.14-1~deb10u1 amd64 CURL module for PHP ii php7.3-gd 7.3.14-1~deb10u1 amd64 GD module for PHP ii php7.3-intl 7.3.14-1~deb10u1 amd64 Internationalisation module for PHP ii php7.3-json 7.3.14-1~deb10u1 amd64 JSON module for PHP ii php7.3-mbstring 7.3.14-1~deb10u1 amd64 MBSTRING module for PHP ii php7.3-mysql 7.3.14-1~deb10u1 amd64 MySQL module for PHP ii php7.3-opcache 7.3.14-1~deb10u1 amd64 Zend OpCache module for PHP ii php7.3-pgsql 7.3.14-1~deb10u1 amd64 PostgreSQL module for PHP ii php7.3-readline 7.3.14-1~deb10u1 amd64 readline module for PHP ii php7.3-recode 7.3.14-1~deb10u1 amd64 recode module for PHP ii php7.3-soap 7.3.14-1~deb10u1 amd64 SOAP module for PHP ii php7.3-sqlite3 7.3.14-1~deb10u1 amd64 SQLite3 module for PHP ii php7.3-xml 7.3.14-1~deb10u1 amd64 DOM, SimpleXML, WDDX, XML, and XSL module for PHP ii php7.3-xmlrpc 7.3.14-1~deb10u1 amd64 XMLRPC-EPI module for PHP ii php7.3-zip 7.3.14-1~deb10u1 amd64 Zip module for PHP ╰─#─➤ dpkg -l|grep mariadb ii libmariadb-dev 1:10.3.22-0+deb10u1 amd64 MariaDB database development files ii libmariadb-dev-compat:amd64 1:10.3.22-0+deb10u1 amd64 MariaDB Connector/C, compatibility symlinks ii libmariadb3:amd64 1:10.3.22-0+deb10u1 ╰─#─➤ dpkg -l|grep mariadb ii libmariadb-dev 1:10.3.22-0+deb10u1 amd64 MariaDB database development files ii libmariadb-dev-compat:amd64 1:10.3.22-0+deb10u1 amd64 MariaDB Connector/C, compatibility symlinks ii libmariadb3:amd64 1:10.3.22-0+deb10u1 amd64 MariaDB database client library ii mariadb-client-10.3 1:10.3.22-0+deb10u1 amd64 MariaDB database client binaries ii mariadb-client-core-10.3 1:10.3.22-0+deb10u1 amd64 MariaDB database core client binaries ii mariadb-common 1:10.3.22-0+deb10u1 all MariaDB common metapackage ii mariadb-server 1:10.3.22-0+deb10u1 all MariaDB database server (metapackage depending on the latest version) ii mariadb-server-10.3 1:10.3.22-0+deb10u1 amd64 MariaDB database server binaries ii mariadb-server-core-10.3 1:10.3.22-0+deb10u1 amd64 MariaDB database core server files amd64 MariaDB database client library ii mariadb-client-10.3 1:10.3.22-0+deb10u1 amd64 MariaDB database client binaries ii mariadb-client-core-10.3 1:10.3.22-0+deb10u1 amd64 MariaDB database core client binaries ii mariadb-common 1:10.3.22-0+deb10u1 all MariaDB common metapackage ii mariadb-server 1:10.3.22-0+deb10u1 all MariaDB database server (metapackage depending on the latest version) ii mariadb-server-10.3 1:10.3.22-0+deb10u1 amd64 MariaDB database server binaries ii mariadb-server-core-10.3 1:10.3.22-0+deb10u1 amd64 MariaDB database core server files
Servicios a Migrar
- Correo (postfix, dovecot, postfixadmin)
- mailman
- Sitios web (drupal, wiki, wiki.osgoes, roundcube)
- base de datos mysql
Nuevos servicios
- Single Sign On SSO
- git de SLSV
- Cliente Monitoreo icinga2
- Cliente de auditoria
- Almacenamiento de log remoto
- Respaldos automaticos
Pasos a Ejecutar
- Actualizar el drupal, mediawiki, postfixadmin
- Inventariar
- paquetes
- Respaldar
- etc,home, root, log, /var/lib/mailman, mysql
- Instar los servicios en el nuevo
- nginx
- mariadb
- SSO
- postfix, dovecot, mailman
- Monitoreo y auditoria con icinga2 y audit
Pasos Ejecutados
- Instalar mariadb, nginx, cerbot
- Configuro el sitio www.slsv.org
- Migro el drupal del viejo al nuevo
- Actualizo el drupal de la version 7 al 9
- Configuraron los sitio wiki.slsv.org wiki.osgoes.slsv.org
- Migro el mediawiki de la version 1.19 a la 1.34
- Configuro el sitio mail.slsv.org
- Instacion la version de postfixadmin 3.2.4
- Instalacion/Configuracion postfix
- Instalacion/Configuracion dovecot
- Instalacion y configuracion de roundcube
- Instalacion y migracion de mailman2
- Instalacion y configuracion de rspawmd
- Configuracion de DKIM y DMARC
- Revisar el wiki para subir y editar archivos, revisar el drush de drupal
- Asegurar mariadb
mailman- Seguridad, spam, otros del correo
- lemonldap
- SSO para drupal,mediawiki,correo
- Seguridad del VPS
- Auditoria
- Monitoreo
- Respaldos
1
2
Ideas Posteriores: ToDo
- Personalizar mailman con un tema
- Personalizar el portal de lemonldap-ng
- Actualizar mailman 2 a 3 https://docs.mailman3.org/en/latest/migration.html
- Instalar Webalizer and AWStats para estadisticas web
Referencias
Simulacro
Dominios:
- p.floresvillatoro.com
- mail.p.floresvillatoro.com
- stmp.p.floresvillatoro.com
- pop3.p.floresvillatoro.com
- listas.p.floresvillatoro.com
- auth.p.floresvillatoro.com
- manager.p.floresvillatoro.com
- reload.p.floresvillatoro.com
- wiki.p.floresvillatoro.com
apt update apt upgrade apt install tree nmap less git bzr vim links2 lynx screen telnet screen apt install mariadb-server nginx php7.3 php-fpm apt install php-intl php-gd php-xml php-pdo php-mbstring php-mysql php-imap php-apcu php-zip sed -i 's/;date.timezone =/;date.timezone =\ndate.timezone = America\/El_Salvador/g' /etc/php/7.3/fpm/php.ini systemctl restart php7.3-fpm apt-get install certbot python-certbot-nginx certbot certonly --nginx -d p.floresvillatoro.com certbot certonly --nginx -d www.p.floresvillatoro.com certbot certonly --nginx -d mail.p.floresvillatoro.com certbot certonly --nginx -d listas.p.floresvillatoro.com certbot certonly --nginx -d smtp.p.floresvillatoro.com certbot certonly --nginx -d auth.p.floresvillatoro.com certbot certonly --nginx -d manager.p.floresvillatoro.com certbot certonly --nginx -d wiki.p.floresvillatoro.com tree /etc/letsencrypt/archive cd /var/www/ wget https://www.drupal.org/download-latest/tar.gz tar -zxvf tar.gz mv drupal-9.0.1/ drupal chown www-data.www-data -R drupal
Configuracion WEB
cd /etc/nginx/sites-enabled/ rm default cd /etc/nginx/sites-available/ cat << EOF |sed 's/aplicacion/REEMPLAZARAPP/g' |sed 's/dominio/REEMPLAZARDOMINIO/g'| tee aplicacion.dominio.com.conf upstream php-handler { #server 127.0.0.1:9000; server unix:/var/run/php/php7.3-fpm.sock; } server { listen 80; listen [::]:80; server_name aplicacion.dominio; access_log /var/log/nginx/aplicacion.dominio-access.log; error_log /var/log/nginx/aplicacion.dominio-error.log; # enforce https return 301 https://\$server_name:443\$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name aplicacion.dominio; ssl_certificate /etc/letsencrypt/live/aplicacion.dominio/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/aplicacion.dominio/privkey.pem; # Add headers to serve security related headers # Before enabling Strict-Transport-Security headers please read into this # topic first. #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;"; # # WARNING: Only add the preload option once you read about # the consequences in https://hstspreload.org/. This option # will add the domain to a hardcoded list that is shipped # in all major browsers and getting removed from this list # could take several months. add_header X-Content-Type-Options nosniff; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; add_header Referrer-Policy no-referrer; # Remove X-Powered-By, which is an information leak fastcgi_hide_header X-Powered-By; # Path to the root of your installation #root /var/www/html; root /var/www/aplicacion; location / { try_files \$uri @rewrite; } location @rewrite { rewrite ^ /index.php; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ \..*/.*\.php\$ { return 403; } # No no for private location ~ ^/sites/.*/private/ { return 403; } # Fighting with Styles? This little gem is amazing. location ~ ^/sites/.*/files/styles/ { try_files \$uri @rewrite; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)\$ { expires max; log_not_found off; } # set max upload size client_max_body_size 512M; fastcgi_buffers 64 4K; location ~ \.php\$ { #include snippets/fastcgi-php.conf; proxy_read_timeout 3600; fastcgi_split_path_info ^(.+?\.php)(\/.*|)\$; set \$path_info \$fastcgi_path_info; try_files \$fastcgi_script_name =404; include fastcgi_params; fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; fastcgi_param PATH_INFO \$path_info; fastcgi_param HTTPS on; # Avoid sending the security headers twice fastcgi_param modHeadersAvailable true; # Enable pretty urls fastcgi_param front_controller_active true; fastcgi_pass php-handler; fastcgi_intercept_errors on; fastcgi_request_buffering off; } # Adding the cache control header for js, css and map files # Make sure it is BELOW the PHP block location ~ \.(?:css|js|woff2?|svg|gif|map)\$ { try_files \$uri /index.php\$request_uri; add_header Cache-Control "public, max-age=15778463"; # Add headers to serve security related headers (It is intended to # have those duplicated to the ones above) # Before enabling Strict-Transport-Security headers please read into # this topic first. #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;"; # # WARNING: Only add the preload option once you read about # the consequences in https://hstspreload.org/. This option # will add the domain to a hardcoded list that is shipped # in all major browsers and getting removed from this list # could take several months. add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; add_header Referrer-Policy no-referrer; # Optional: Don't log access to assets access_log off; } access_log /var/log/nginx/aplicacion.dominio-ssl-access.log; error_log /var/log/nginx/aplicacion.dominio-ssl-error.log warn; } EOF cd /etc/nginx/sites-enabled/ ln -s ../sites-available/aplicacion.dominio systemctl restart nginx
Configuracion PostfixAdmin
Postfix admin es caprichoso pide que su carpeta web sea la public… renombrada no hace caso descargado en cualquier lado pero puesto en /srv/ por sugerencia del https://raw.githubusercontent.com/postfixadmin/postfixadmin/master/INSTALL.TXT
ln -s /srv/postfixadmin/public /documentroot/public
cambiar el document root para apuntar a public en /etc/nginx/sites-available/mail.dominio.conf
config.local.php
<?php $CONF['database_type'] = 'mysqli'; $CONF['database_user'] = 'postfixadminuser'; $CONF['database_password'] = 'lanuevaclave'; $CONF['database_name'] = 'postfixadmindb'; $CONF['setup_password'] = '02e3b030dd9d7201e0f2cb124ecf645e:0e1685dec98e300288e451a1cafed8e064022661'; $CONF['authlib_default_flavor'] = 'SHA'; $CONF['encrypt'] = 'authlib'; $CONF['configured'] = true; ?>
Configuracion Base
cat << EOF | sed 's/aplicacion/REEMPLAZARAPP/g' | sed 's/SUPERCLAVELOCA/lanuevaclave/g' | mariadb CREATE DATABASE aplicaciondb; CREATE USER aplicacionuser@localhost IDENTIFIED BY 'SUPERCLAVELOCA'; GRANT USAGE ON aplicaciondb.* to aplicacionuser@localhost; GRANT ALL PRIVILEGES ON aplicaciondb.* TO aplicacionuser@localhost; FLUSH PRIVILEGES; EOF mysql -u drupaluser -p drupaldb
Borrar la base de datos
cat << EOF | sed 's/aplicacion/drupal/g' | sed 's/SUPERCLAVELOCA/lanuevaclave/g' | mariadb DROP USER aplicacionuser@localhost; DROP DATABASE aplicaciondb; FLUSH PRIVILEGES; EOF
postfix
apt install postfix postfix-mysql dovecot-mysql dovecot-pop3d dovecot-imapd dovecot-lmtpd dovecot-managesieved rspamd swaks mutt ca-certificates fail2ban mkdir /etc/postfix/mysql cat << EOF | tee /etc/postfix/mysql/mysql-conn.cf user = postfixadminuser password = lanuevaclave hosts = 127.0.0.1 dbname = postfixadmindb EOF ## cp /etc/postfix/mysql/mysql-conn.cf /etc/postfix/mysql/virtual-mailbox-domains.cf cat << EOF >> /etc/postfix/mysql/virtual-mailbox-domains.cf query = SELECT 1 FROM domain WHERE domain='%s' EOF postconf virtual_mailbox_domains=mysql:/etc/postfix/mysql/virtual-mailbox-domains.cf postmap -q mail.p.floresvillatoro.com mysql:/etc/postfix/mysql/virtual-mailbox-domains.cf ## cp /etc/postfix/mysql/mysql-conn.cf /etc/postfix/mysql/virtual-mailbox-maps.cf cat << EOF >> /etc/postfix/mysql/virtual-mailbox-maps.cf query = SELECT 1 FROM mailbox WHERE username='%s' EOF postconf virtual_mailbox_maps=mysql:/etc/postfix/mysql/virtual-mailbox-maps.cf postmap -q prueba@mail.p.floresvillatoro.com mysql:/etc/postfix/mysql/virtual-mailbox-maps.cf ## cp /etc/postfix/mysql/mysql-conn.cf /etc/postfix/mysql/virtual-alias-maps.cf cat << EOF >> /etc/postfix/mysql/virtual-alias-maps.cf query = SELECT goto FROM alias WHERE address='%s' EOF postconf virtual_alias_maps=mysql:/etc/postfix/mysql/virtual-alias-maps.cf postmap -q prueba@mail.p.floresvillatoro.com mysql:/etc/postfix/mysql/virtual-alias-maps.cf ## cp /etc/postfix/mysql/mysql-conn.cf /etc/postfix/mysql/email2email.cf cat << EOF >> /etc/postfix/mysql/email2email.cf query = SELECT username FROM mailbox WHERE username='%s' EOF postconf virtual_alias_maps=mysql:/etc/postfix/mysql/virtual-alias-maps.cf,mysql:/etc/postfix/mysql/email2email.cf postmap -q prueba@mail.p.floresvillatoro.com mysql:/etc/postfix/mysql/email2email.cf chgrp -R postfix /etc/postfix/mysql chmod u=rw,g=r,o= /etc/postfix/mysql chmod -R u=rw,g=r,o= /etc/postfix/mysql
dovecot
groupadd -g 5000 vmail useradd -g vmail -u 5000 vmail -d /home/vmail -m chown -R vmail:vmail /home/vmail cd /etc/dovecot/conf.d/ #Modificando 10-auth.conf sed -i 's/^auth_mechanisms = plain/auth_mechanisms = plain login/g' 10-auth.conf sed -i 's/#!include auth-sql.conf.ext/!include auth-sql.conf.ext/g' 10-auth.conf sed -i 's/!include auth-system.conf.ext/#!include auth-system.conf.ext/g' 10-auth.conf #Modificando 10-mail.conf sed -i 's/^mail_location = mbox:~\/mail:INBOX=\/var\/mail\/%u/mail_location = maildir:~\/Maildir/g' 10-mail.conf sed -i 's/#separator = $/separator = ./g' 10-mail.conf sed -i 's/^#mail_plugins =/mail_plugins = quota/g' 10-mail.conf #Modificando 10-master.conf nano 10-master.conf # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix } #Modificando 10-ssl.conf sed -i 's/ssl_cert = <\/etc\/dovecot\/private\/dovecot.pem/ssl_cert = <\/etc\/letsencrypt\/live\/mail.p.floresvillatoro.com\/fullchain.pem/g' 10-ssl.conf sed -i 's/ssl_key = <\/etc\/dovecot\/private\/dovecot.key/ssl_key = <\/etc\/letsencrypt\/live\/mail.p.floresvillatoro.com\/privkey.pem/g' 10-ssl.conf sed -i 's/ssl = yes/ssl = required/g' 10-ssl.conf nano 10-ssl.conf cat << EOF >> /etc/dovecot/dovecot-sql.conf.ext driver = mysql connect = host=127.0.0.1 dbname=postfixadmindb user=postfixadminuser password=lanuevaclave user_query = SELECT username as user, concat('*:bytes=', quota) AS quota_rule,'/home/vmail/%d/%n' AS home,5000 AS uid, 5000 AS gid FROM mailbox WHERE username='%u' password_query = SELECT password FROM mailbox WHERE username='%u' iterate_query = SELECT username AS user FROM mailbox; EOF tail /etc/dovecot/dovecot-sql.conf.ext chown root:root /etc/dovecot/dovecot-sql.conf.ext chmod go= /etc/dovecot/dovecot-sql.conf.ext systemctl restart dovecot tail /var/log/syslog
postfix-dovecot
nano /etc/dovecot/conf.d/10-master.conf service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } postconf virtual_transport=lmtp:unix:private/dovecot-lmtp systemctl restart dovecot systemctl status dovecot sed -i 's/#mail_plugins = \$mail_plugins$/mail_plugins = \$mail_plugins sieve/g' 20-lmtp.conf systemctl restart dovecot systemctl status dovecot
quotas
cat << EOF >> /etc/dovecot/conf.d/90-quota.conf plugin { quota = maildir:User quota quota_status_success = DUNNO quota_status_nouser = DUNNO quota_status_overquota = "452 4.2.2 Mailbox is full and cannot receive any more emails" } service quota-status { executable = /usr/lib/dovecot/quota-status -p postfix unix_listener /var/spool/postfix/private/quota-status { user = postfix } } plugin { quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=80%% quota-warning 80 %u quota_warning3 = -storage=100%% quota-warning below %u } service quota-warning { executable = script /usr/local/bin/quota-warning.sh unix_listener quota-warning { group = dovecot mode = 0660 } } EOF nano /usr/local/bin/quota-warning.sh #!/bin/sh PERCENT=$1 USER=$2 cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o "plugin/quota=maildir:User quota:noenforcing" From: postmaster@mail.p.floresvillatoro.com Subject: Quota warning - $PERCENT% reached Your mailbox can only store a limited amount of emails. Currently it is $PERCENT% full. If you reach 100% then new emails cannot be stored. Thanks for your understanding. EOF chmod +x /usr/local/bin/quota-warning.sh systemctl restart dovecot postconf "smtpd_recipient_restrictions = \ reject_unauth_destination \ check_policy_service unix:private/quota-status"
RoundCube
cd /var/www wget -c https://github.com/roundcube/roundcubemail/releases/download/1.4.6/roundcubemail-1.4.6-complete.tar.gz tar xvfz roundcubemail-1.4.6-complete.tar.gz rmdir mail mv roundcubemail-1.4.6 mail chown -R www-data.www-data mail/ cat << EOF | sed 's/aplicacion/roundcube/g' | sed 's/SUPERCLAVELOCA/lanuevaclave/g' | mariadb CREATE DATABASE aplicaciondb; CREATE USER aplicacionuser@localhost IDENTIFIED BY 'SUPERCLAVELOCA'; GRANT USAGE ON aplicaciondb.* to drupaluser@localhost; GRANT ALL PRIVILEGES ON aplicaciondb.* TO aplicacionuser@localhost; FLUSH PRIVILEGES; EOF mariadb -u roundcubeuser roundcubedb -pmariadb -u roundcubeuser roundcubedb -p cd mail ls SQL/mysql mariadb -u roundcubeuser roundcubedb -p < SQL/mysql.initial.sql sed -i 's/^post_max_size = 8M/post_max_size = 20M/g' /etc/php/7.3/fpm/php.ini grep upload_max_filesize /etc/php/7.3/fpm/php.ini sed -i 's/^upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php/7.3/fpm/php.ini grep upload_max_filesize /etc/php/7.3/fpm/php.ini sed -i 's/^; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):/; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):\BLF-CRYPTnsession.gc_maxlifetime=21600/g' /etc/php/7.3/fpm/php.ini grep session.gc_maxlifetime /etc/php/7.3/fpm/php.ini sed -i 's/^session.gc_probability = 0/session.gc_probability = 1/g' /etc/php/7.3/fpm/php.ini grep session.gc_probability /etc/php/7.3/fpm/php.ini sed -i 's/^session.gc_divisor = 1000/session.gc_divisor = 500/g' /etc/php/7.3/fpm/php.ini grep session.gc_divisor /etc/php/7.3/fpm/php.ini systemctl restart php7.3-fpm systemctl status php7.3-fpm cd config/ cp config.inc.php.sample config.inc.php nano config.inc.php grep -P "^[$]" config.inc.php sed -i 's/roundcube:pass@localhost\/roundcubemail/roundcubeuser:lanuevaclave@localhost\/roundcubedb/g' config.inc.php sed -i 's/rcmail-!24ByteDESkey\*Str/djeu3m4569do2h4670d2mysp/g' config.inc.php sed -i "s/^\$config\['default_host'\] = 'localhost'/\$config\['default_host'\] = 'tls:\/\/mail.p.floresvillatoro.com'/g" config.inc.php grep -P "^[$]" config.inc.php sed -i "s/^\$config\['smtp_server'\] = 'localhost'/\$config\['smtp_server'\] = 'tls:\/\/mail.p.floresvillatoro.com'/g" config.inc.php grep -P "^[$]" config.inc.php grep -P "^[^/]" config.inc.php sed -i "s/'zipdownload',/'zipdownload',\n 'managesieve',\n 'password',/g" config.inc.php grep -P "^[^/]" config.inc.php cd ../plugins/password cp config.inc.php.dist config.inc.php sed -i "s/^\$config\['password_minimum_length'\] = 0/\$config\['password_minimum_length'\] = 8/g" config.inc.php grep password_minimum_length config.inc.php sed -i "s/^\$config\['password_force_save'\] = false/\$config\['password_force_save'\] = true/g" config.inc.php grep password_force_save config.inc.php sed -i "s/^\$config\['password_algorithm'\] = 'clear'/\$config\['password_algorithm'\] = 'ssha'/g" config.inc.php grep password_algorithm config.inc.php sed -i "s/^\$config\['password_algorithm'\] = 'clear'/\$config\['password_algorithm'\] = 'dovecot'/g" config.inc.php grep password_algorithm config.inc.php sed -i "s/^\$config\['password_dovecotpw'\] = '\/usr\/local\/sbin\/dovecotpw'/\$config\['password_dovecotpw'\] = '\/usr\/bin\/doveadm pw -s SHA1'/g" config.inc.php grep password_dovecotpw config.inc.php sed -i "s/^\$config\['password_dovecotpw_method'\] = 'CRAM-MD5'/\$config\['password_dovecotpw_method'\] = 'SHA1'/g" config.inc.php grep password_dovecotpw_method config.inc.php sed -i "s/^\$config\['password_dovecotpw_with_method'\] = false/\$config\['password_dovecotpw_with_method'\] = true/g" config.inc.php grep password_dovecotpw_with_method config.inc.php sed -i "s/^\$config\['password_db_dsn'\] = '';/\$config\['password_db_dsn'\] = 'mysql:\/\/postfixadminuser:lanuevaclave@localhost\/postfixadmindb';/g" config.inc.php grep password_db_dsn config.inc.php sed -i "s/^\$config\['password_query'\] = 'SELECT update_passwd(%c, %u)'/\$config\['password_query'\] = 'UPDATE mailbox SET password=%D WHERE username=%u'/g" config.inc.php grep password_query config.inc.php cd ../managesieve cp config.inc.php.dist config.inc.php
Probar correo con swaks y cliente desktop
postfix enviar correo
postconf smtpd_sasl_type=dovecot postconf smtpd_sasl_path=private/auth postconf smtpd_sasl_auth_enable=yes #Cifrado smtp postconf smtpd_tls_security_level=may postconf smtpd_tls_auth_only=yes postconf smtpd_tls_cert_file=/etc/letsencrypt/live/dominio/fullchain.pem postconf smtpd_tls_key_file=/etc/letsencrypt/live/dominio/privkey.pem postconf smtp_tls_security_level=may #Restricciones relay #smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination #Descomentar submission inet n nano /etc/postfix/master.cf systemctl restart postfix
rspam
cd /etc/rspamd/ postconf smtpd_milters=inet:127.0.0.1:11332 postconf non_smtpd_milters=inet:127.0.0.1:11332 postconf milter_mail_macros="i {mail_addr} {client_addr} {client_name} {auth_authen}" cd /tmp wget http://spamassassin.apache.org/gtube/gtube.txt sendmail prueba@mail.p.floresvillatoro.com < gtube.txt grep bounced /var/log/mail.log date systemctl restart rspamd rspamadm configdump rspamadm configtest pgrep -a rspam echo "extended_spam_headers = true;" > /etc/rspamd/override.d/milter_headers.conf systemctl restart rspamd grep -v "#" /etc/dovecot/conf.d/90-sieve.conf sed -i 's/#sieve_after =$/sieve_after = \/etc\/dovecot\/sieve-after/g' /etc/dovecot/conf.d/90-sieve.conf grep sieve_after /etc/dovecot/conf.d/90-sieve.conf mkdir /etc/dovecot/sieve-after cat << EOF > /etc/dovecot/sieve-after/spam-to-folder.sieve require ["fileinto","mailbox"]; if header :contains "X-Spam" "Yes" { fileinto :create "Junk"; stop; } EOF sievec /etc/dovecot/sieve-after/spam-to-folder.sieve
mailman
apt install mailman fcgiwrap cd /etc/nginx/sites-available/ cat << EOF |sed 's/dominio/REEMPLAZARDOMINIO/g'| tee lista.dominio.conf upstream _fcgiwrap { server unix:/var/run/fcgiwrap.socket; } server { listen 80; listen [::]:80; server_name lista.dominio; access_log /var/log/nginx/lista.dominio-access.log; error_log /var/log/nginx/lista.dominio-error.log; # enforce https return 301 https://\$server_name:443\$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name lista.dominio; ssl_certificate /etc/letsencrypt/live/lista.dominio/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/lista.dominio/privkey.pem; index index.php index.html index.htm; root /usr/lib/cgi-bin; location = / { rewrite ^ /mailman/listinfo permanent; } location / { rewrite ^ /mailman\$uri?\$args; } location = /mailman/ { rewrite ^ /mailman/listinfo permanent; } #pendiente la redireccion https://dominio/mailman a lista.dominio/mailman/listinfo location /mailman/ { fastcgi_split_path_info (^/mailman/[^/]*)(.*)\$; fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; fastcgi_param PATH_INFO \$fastcgi_path_info; include /etc/nginx/fastcgi_params; fastcgi_pass _fcgiwrap; } location /cgi-bin { rewrite ^/cgi-bin(.*)\$ \$1 permanent; } location /images/mailman { alias /var/lib/mailman/icons; } location /pipermail { alias /var/lib/mailman/archives/public; autoindex on; } access_log /var/log/nginx/lista.dominio-ssl-access.log; error_log /var/log/nginx/lista.dominio-ssl-error.log warn; } EOF cd /etc/nginx/sites-enabled/ ln -s ../sites-available/aplicacion.dominio systemctl restart nginx
281 cat /etc/postfix/main.cf 282 vi /etc/postfix/main.cf 283 systemctl restart postfix 284 cat /etc/nginx/sites-enabled/lista.slsv.org.conf 285 vi /etc/postfix/main.cf 286 cat /etc/hosts 287 vi /etc/hosts 288 vi /etc/postfix/main.cf 289 ls /var/lib/mailman/data/virtual-mailman 290 ls /var/lib/mailman/data/ 291 tree /var/lib/mailman/data/ 292 tree /var/lib/mailman/ 293 find / -iname "transport-mailman" 294 newaliases 295 find / -iname "mm_cfg.py" 296 vi /etc/mailman/mm_cfg.py 297 cat /etc/mailman/mm_cfg.py 298 vi /usr/share/doc/mailman/README.Debian 299 cat /etc/mailman/postfix-to-mailman.py 300 vi /etc/mailman/postfix-to-mailman.py 301 vi /usr/share/doc/mailman/ 302 vi /usr/share/doc/mailman/README.Debian 303 vi /etc/mailman/mm_cfg.py 304 ls /usr/local/mailman/data/aliases 305 ls /usr/local/mailman/dat 306 vi /etc/mailman/mm_cfg.py 307 postconf -n|egrep 'smtpd_recipient_restrictions|smtpd_relay_restrictions' 308 vi /etc/postfix/main.cf 309 systemctl restart postfix 310 systemctl restart mailman 311 vi /etc/postfix/main.cf 312 cat /etc/mailname 313 vi /etc/postfix/main.cf 314 vi /etc/postfix/main.cf 315 systemctl restart mailman; systemctl restart postfix 316 vi /etc/postfix/main.cf 317 ls /etc/postfix/transport 318 nano /etc/postfix/transport 319 ls /etc/postfix/transport 320 vi /etc/postfix/main.cf 321 cat /var/lib/mailman/data/transport-mailman 322 nano /var/lib/mailman/data/transport-mailman 323 vi /etc/postfix/main.cf 324 systemctl restart mailman; systemctl restart postfix 325 vi /etc/postfix/main.cf 326 vi /etc/postfix/main.cf 327 vi /etc/postfix/main.cf 328 systemctl restart mailman; systemctl restart postfix 329 systemctl restart mailman; systemctl restart postfix 330 vi /etc/postfix/main.cf 331 systemctl restart mailman; systemctl restart postfix 332 systemctl restart mailman; systemctl restart postfix 333 cat /var/lib/mailman/data/aliases 334 vi /etc/postfix/main.cf 335 bzr diff /etc/postfix/main.cf 336 vi /etc/postfix/main.cf 337 systemctl restart mailman; systemctl restart postfix 338 vi /etc/postfix/main.cf 339 systemctl restart mailman; systemctl restart postfix 340 vi /etc/postfix/main.cf 341 systemctl restart postfix 342 systemctl restart postfix 343 cat /etc/aliases 344 ls -alh /var/lib/mailman/mail/mailman 345 newaliases 346 vi /etc/mailman/mm_cfg.py 347 vi /etc/postfix/master.cf 348 cat /var/lib/mailman/data/virtual-mailman 349 ls /var/lib/mailman/data/ 350 vi /etc/postfix/master.cf 351 vi /etc/postfix/main.cf 352 ls -alh /etc/mailman/ 353 cd /var/lib/mailman/ 354 ls 355 cd bin 356 ls 357 ./genaliases 358 ls 359 cd .. 360 ls 361 ls data/ 362 find / -iname "transport-mailman" 363 ip add 364 cat /etc/postfix/transport 365 cat /etc/postfix/master.cf 366 cat /var/lib/mailman/data/transport-mailman 367 nano /etc/postfix/transport 368 postmap /etc/postfix/transport 369 ip add 370 ls /etc/postfix/ 371 cat /etc/postfix/transport 372 cat /var/lib/mailman/data/transport-mailman 373 cat /etc/postfix/master.cf 374 cat /etc/postfix/transport 375 #/usr/lib/mailman/bin/rmlist 376 /usr/lib/mailman/bin/rmlist mailman 377 touch /var/lib/mailman/data/aliases 378 /usr/lib/mailman/bin/rmlist mailman 379 newlist mailman 380 ip add 381 dpkg -l|grep postfix 382 #echo "body of your test email" | mail -s "This is a Test Subject" -a "From: mailman@mydomain.com" you@somewhere.com 383 echo "body of your test email" | mail -s "This is a Test Subject" -a "From: mailman@slsv.org" manuel.flores.villatoro@gmail.com 384 mailq 385 systemctl status postfix 386 vi /usr/lib/mailman/Mailman/Defaults.py 387 vi /usr/lib/mailman/Mailman/mm_cfg.py 388 /usr/lib/mailman/bin/genaliases 389 grep -R lista@slsv.org * 390 ls 391 ls data/ 392 grep -R lista@slsv.org data/* 393 ls 394 find -iname "*alias*" 395 find -iname "*.db" 396 cat data/aliases 397 cat data/virtual-mailman 398 cat data/transport-mailman 399 cat data/aliases 400 date 401 cat data/transport-mailman 402 postconf data/transport-mailman 403 postaliasf data/transport-mailman 404 postalias data/transport-mailman 405 postm data/transport-mailman 406 postmap data/transport-mailman 407 ls -alh data/ 408 date 409 newaliases 410 ls -alh data/ 411 cat data/virtual-mailman 412 cat data/transport-mailman 413 vi data/virtual-mailman 414 postmap data/virtual-mailman 415 ls -alh data/ 416 cd /etc/ 417 bzr add * 418 bzr commit -m 'configuracion de mailmain con postfix' 512 cd /etc/ 513 vi mailman/mm_cfg.py 514 history |grep mailman 515 /var/lib/mailman/bin/withlist -l -r fix_url lista 516* cat 517 /var/lib/mailman/bin/withlist -l -r fix_url mailman 518 cat /etc/postfix/master.cf 519 cat /etc/postfix/main.cf 520 cat /var/lib/mailman/data/aliases 521 /var/lib/mailman/bin/withlist -l -r fix_url osgoes 522 /var/lib/mailman/bin/withlist -l -r fix_url slsvadmin
lemonldap
apt install lemonldap-ng apt install libcache-cache-perl libclone-perl libconfig-inifiles-perl libconvert-pem-perl libcrypt-openssl-bignum-perl libcrypt-openssl-rsa-perl libcrypt-openssl-x509-perl libcrypt-rijndael-perl libdbi-perl libdigest-hmac-perl libemail-sender-perl libgd-securityimage-perl libhtml-template-perl libio-string-perl libjson-perl libmime-tools-perl libmouse-perl libnet-ldap-perl libplack-perl libregexp-assemble-perl libregexp-common-perl libsoap-lite-perl libstring-random-perl libunicode-string-perl liburi-perl libwww-perl libxml-simple-perl libxml-libxslt-perl libcrypt-urandom-perl libtext-unidecode-perl libcookie-baker-xs-perl libfcgi-perl libtest-email-perl libemail-sender-perl libgd-securityimage-perl libimage-magick-perl sed -i 's/example\.com/dominio.org/g' /etc/lemonldap-ng/* /var/lib/lemonldap-ng/conf/lmConf-1.json sed -i 's/lemonldap-ng-doc/lemonldap-ng/g' /etc/lemonldap-ng/manager-nginx.conf ls /etc/nginx/sites-available cd /etc/nginx/sites-enable ln -s ../sites-available/portal-nginx.conf ln -s ../sites-available/manager-nginx.conf ln -s ../sites-available/handler-nginx.conf cp -rp /etc/lemonldap-ng/lemonldap-ng.ini /etc/lemonldap-ng/lemonldap-ng.default.ini
Sustituir en los archivos reload, portal, manager el dominio example.create view lemonusers as select username,password, (SELECT SUBSTRING_INDEX1) as nombres, (SELECT SUBSTRING_INDEX2) as apellidos from mailbox m;com por dominio.org
Agregar las siguientes lineas en el inicio del archivo /etc/nginx/sites-enabled/portal-nginx.conf para que pueda acceder a servicio fastcgi.
upstream llng_portal_upstream { server unix:/run/llng-fastcgi-server/llng-fastcgi.sock; }
Crear la base de datos donde se guardara la configuracion (para mariadb), Crear la tabla para la configuracion https://lemonldap-ng.org/documentation/1.0/sqlconfbackend
mariadb CREATE TABLE lmConfig ( cfgNum INT(11) NOT NULL, FIELD VARCHAR(255) NOT NULL DEFAULT '', VALUE longblob, PRIMARY KEY (cfgNum,FIELD) ); CREATE TABLE sessions ( id VARCHAR(64) NOT NULL PRIMARY KEY, a_session TEXT, _whattotrace TEXT, ipaddr TEXT ); CREATE TABLE psessions ( id VARCHAR(64) NOT NULL PRIMARY KEY, a_session TEXT, _session_uid TEXT );
Editar el archivo siguiente: /etc/lemonldap-ng/lemonldap-ng.ini
Comentar
;type=File ;dirName = /var/lib/lemonldap-ng/conf type = RDBI dbiChain = DBI:MariaDB:database=leemonldapdb dbiUser = leemonldapuser dbiPassword = rijkDN6NUNet3rWr ; optional dbiTable = lmConfig languages = en, es
Cambiar la configuracion para que la guarde en la base de datos
/usr/share/lemonldap-ng/bin/convertConfig --current=/etc/lemonldap-ng/lemonldap-ng.default.ini --new=/etc/lemonldap-ng/lemonldap-ng.ini systemctl restart lemonldap-ng-fastcgi-server; systemctl restart nginx
Definir una cuenta de email para resetear clave por correo.
Accedemos al sitio: auth.dominio.org
Creamos la vista para separar el nombre del apellido para que lemonldap pueda tener esos datos separados .
NOTA: Cuando se creen las cuenta desde postfixadmin ser deberán ingresar en el campo nombre los nombres y apellidos separados por coma.
CREATE OR REPLACE VIEW lemonusers AS SELECT local_part AS USER, username AS email,password, (SELECT SUBSTRING_INDEX((SELECT name FROM mailbox n WHERE n.username=m.username LIMIT 1 ), ',', 1)) AS nombres, (SELECT SUBSTRING_INDEX((SELECT name FROM mailbox t WHERE t.username=m.username LIMIT 1 ), ',', -1)) AS apellidos FROM mailbox m; GRANT USAGE ON postfixadmindb.lemonusers TO leemonldapuser@localhost; GRANT ALL PRIVILEGES ON postfixadmindb.lemonusers TO leemonldapuser@localhost; FLUSH PRIVILEGES; mariadb -u leemonldapuser -p postfixadmindb SELECT * FROM lemonusers; echo "{SHA}$(echo -n foo | openssl dgst -binary -sha1 | openssl base64)" SELECT USER FROM lemonusers WHERE USER='neozerosv' AND password=SHA1('pp'); SELECT CONCAT('{SHA}',to_base64(unhex(SHA1('pp')))); SELECT USER FROM lemonusers WHERE USER='neozerosv' AND password=(SELECT CONCAT('{SHA}',to_base64(unhex(SHA1('pp'))))); #Cambiar el archivo /usr/share/perl5/Lemonldap/NG/Portal/Lib/DBI.pm en la linea 448 #de "SELECT $loginCol FROM $table WHERE $loginCol=? AND $passwordCol=$passwordsql" #a "SELECT $loginCol FROM $table WHERE $loginCol=? AND $passwordCol=(SELECT CONCAT('{SHA}',to_base64(unhex($passwordsql))))"
otros
528 @tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki 529 #@tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki 530 #tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki 531 ls 532 cd sitios/ 533 ls 534 mkdir wiki fastcgi_pass _fcgiwrap; 535 cd wiki/ 536 ls 537 tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki 538 mysql 539 mysql -p 540 mysqldump -p slsvorg_wiki > 20200701-slsvorg_wiki.sql 541 ls 542 cd .. 543 #rsync -av 544 ls 545 hi 546 history 547 rsync -a wiki respaldo@88.99.82.174:~ 548 ls 549 ls 550 ls /var/www/wiki.osgoes/ 551 ls /var/www/ 552 #tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki.osgoes 553 ls 554 mkdir wikiosgoes 555 cd wikiosgoes/ 556 tar -zcvvf 20200701-wikiosgoes.tar.gz /var/www/wiki.osgoes 557 ls 558 mysql -p 559 mysqldump -p slsvorg_wikiosgoes > 20200701-slsvorg_wiki-osgoes.sql 560 ls 561 cd .. 562 rsync -a wikiosgoes/ respaldo@88.99.82.174:~ 563 ls 564 rsync -a wikiosgoes respaldo@88.99.82.174:~ 565 ls /var/www/ 566 ls /var/www/lista/ 567 ls /var/www/rc/ 568 ls /var/www/html/ 569 ls 570 cd .. 571 ls 572 mkdir basededatos 573 mv 20200630-mysql-all.sql basededatos/ 574 cd basededatos/ 575 mysql 576 mysql -p 577 man mysql 578 mysql -p < show databases; 579 mysql -p < echo "show databases;" 580 mysql -p < $(echo "show databases;") 581 mysql -p -e "show databases;" 582 mysql -p -e "show databases;" | grep -P "^|" 583 mysql -p -e "show databases;" | grep -P "^|" | grep -v "Database" 584 mysql -p -e "show databases;" | grep -P "^|" | grep -v "Database|information_schema|mysql|performance_schema" 585 mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema" 586 for base in $(mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema"); do echo base ; done 587 for base in $(mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema"); do echo $base ; done 588 $mysqldump -p slsvorg_wikiosgoes > 20200701-slsvorg_wiki-osgoes.sql 589 #mysqldump -p slsvorg_wikiosgoes > 20200701-slsvorg_wiki-osgoes.sql 590 for base in $(mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema"); do echo $base ; mysqldump -p $base > 20200701-slsvorg-$base.sql ; done 591 ls -alh 592 mysqldump -p slsvorg_wikiosgoes > 20200701-slsvorg_wiki-osgoes.sql 593 ls -alh 594 vi 20200701-slsvorg-postfix.sql 595 history
A ordenar
528 @tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki 529 #@tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki 530 #tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki 531 ls 532 cd sitios/ 533 ls 534 mkdir wiki 535 cd wiki/ 536 ls 537 tar -zcvvf 20200701-w 281 cat /etc/postfix/main.cf 282 vi /etc/postfix/main.cf 283 systemctl restart postfix 284 cat /etc/nginx/sites-enabled/lista.slsv.org.conf 285 vi /etc/postfix/main.cf 286 cat /etc/hosts 287 vi /etc/hosts 288 vi /etc/postfix/main.cf 289 ls /var/lib/mailman/data/virtual-mailman 290 ls /var/lib/mailman/data/ 291 tree /var/lib/mailman/data/ 292 tree /var/lib/mailman/ 293 find / -iname "transport-mailman" 294 newaliases 295 find / -iname "mm_cfg.py" 296 vi /etc/mailman/mm_cfg.py 297 cat /etc/mailman/mm_cfg.py 298 vi /usr/share/doc/mailman/README.Debian 299 cat /etc/mailman/postfix-to-mailman.py 300 vi /etc/mailman/postfix-to-mailman.py 301 vi /usr/share/doc/mailman/ 302 vi /usr/share/doc/mailman/README.Debian 303 vi /etc/mailman/mm_cfg.py 304 ls /usr/local/mailman/data/aliases 305 ls /usr/local/mailman/dat 306 vi /etc/mailman/mm_cfg.py 307 postconf -n|egrep 'smtpd_recipient_restrictions|smtpd_relay_restrictions' 308 vi /etc/postfix/main.cf 309 systemctl restart postfix 310 systemctl restart mailman 311 vi /etc/postfix/main.cf 312 cat /etc/mailname 313 vi /etc/postfix/main.cf 314 vi /etc/postfix/main.cf 315 systemctl restart mailman; systemctl restart postfix 316 vi /etc/postfix/main.cf 317 ls /etc/postfix/transport 318 nano /etc/postfix/transport 319 ls /etc/postfix/transport 320 vi /etc/postfix/main.cf 321 cat /var/lib/mailman/data/transport-mailman 322 nano /var/lib/mailman/data/transport-mailman 323 vi /etc/postfix/main.cf 324 systemctl restart mailman; systemctl restart postfix 325 vi /etc/postfix/main.cf 326 vi /etc/postfix/main.cf 327 vi /etc/postfix/main.cf 328 systemctl restart mailman; systemctl restart postfix 329 systemctl restart mailman; systemctl restart postfix 330 vi /etc/postfix/main.cf 331 systemctl restart mailman; systemctl restart postfix 332 systemctl restart mailman; systemctl restart postfix 333 cat /var/lib/mailman/data/aliases 334 vi /etc/postfix/main.cf 335 bzr diff /etc/postfix/main.cf 336 vi /etc/postfix/main.cf 337 systemctl restart mailman; systemctl restart postfix 338 vi /etc/postfix/main.cf 339 systemctl restart mailman; systemctl restart postfix 340 vi /etc/postfix/main.cf 341 systemctl restart postfix 342 systemctl restart postfix 343 cat /etc/aliases 344 ls -alh /var/lib/mailman/mail/mailman 345 newaliases 346 vi /etc/mailman/mm_cfg.py 347 vi /etc/postfix/master.cf 348 cat /var/lib/mailman/data/virtual-mailman 349 ls /var/lib/mailman/data/ 350 vi /etc/postfix/master.cf 351 vi /etc/postfix/main.cf 352 ls -alh /etc/mailman/ 353 cd /var/lib/mailman/ 354 ls 355 cd bin 356 ls 357 ./genaliases 358 ls 359 cd .. 360 ls 361 ls data/ 362 find / -iname "transport-mailman" 363 ip add 364 cat /etc/postfix/transport 365 cat /etc/postfix/master.cf 366 cat /var/lib/mailman/data/transport-mailman 367 nano /etc/postfix/transport 368 postmap /etc/postfix/transport 369 ip add 370 ls /etc/postfix/ 371 cat /etc/postfix/transport 372 cat /var/lib/mailman/data/transport-mailman 373 cat /etc/postfix/master.cf 374 cat /etc/postfix/transport 375 #/usr/lib/mailman/bin/rmlist 376 /usr/lib/mailman/bin/rmlist mailman 377 touch /var/lib/mailman/data/aliases 378 /usr/lib/mailman/bin/rmlist mailman 379 newlist mailman 380 ip add 381 dpkg -l|grep postfix 382 #echo "body of your test email" | mail -s "This is a Test Subject" -a "From: mailman@mydomain.com" you@somewhere.com 383 echo "body of your test email" | mail -s "This is a Test Subject" -a "From: mailman@slsv.org" manuel.flores.villatoro@gmail.com 384 mailq 385 systemctl status postfix 386 vi /usr/lib/mailman/Mailman/Defaults.py 387 vi /usr/lib/mailman/Mailman/mm_cfg.py 388 /usr/lib/mailman/bin/genaliases 389 grep -R lista@slsv.org * 390 ls 391 ls data/ 392 grep -R lista@slsv.org data/* 393 ls 394 find -iname "*alias*" 395 find -iname "*.db" 396 cat data/aliases 397 cat data/virtual-mailman 398 cat data/transport-mailman 399 cat data/aliases 400 date 401 cat data/transport-mailman 402 postconf data/transport-mailman 403 postaliasf data/transport-mailman 404 postalias data/transport-mailman 405 postm data/transport-mailman 406 postmap data/transport-mailman 407 ls -alh data/ 408 date 409 newaliases 410 ls -alh data/ 411 cat data/virtual-mailman 412 cat data/transport-mailman 413 vi data/virtual-mailman 414 postmap data/virtual-mailman 415 ls -alh data/ 416 cd /etc/ 417 bzr add * 418 bzr commit -m 'configuracion de mailmain con postfix' iki.tar.gz /var/www/wiki 538 mysql 539 mysql -p 540 mysqldump -p slsvorg_wiki > 20200701-slsvorg_wiki.sql 541 ls 542 cd .. 543 #rsync -av 544 ls 545 hi 546 history 547 rsync -a wiki respaldo@88.99.82.174:~ 548 ls 549 ls 550 ls /var/www/wiki.osgoes/ 551 ls /var/www/ 552 #tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki.osgoes 553 ls 554 mkdir wikiosgoes 555 cd wikiosgoes/ 556 tar -zcvvf 20200701-wikiosgoes.tar.gz /var/www/wiki.osgoes 557 ls 558 mysql -p 559 mysqldump -p slsvorg_wikiosgoes <code bash>> 20200701-slsvorg_wiki-osgoes.sql 560 ls 561 cd .. 562 rsync -a wikiosgoes/ respaldo@88.99.82.174:~ 563 ls 564 rsync -a wikiosgoes respaldo@88.99.82.174:~ 565 ls /var/www/ 566 ls /var/www/lista/ 567 ls /var/www/rc/ 568 ls /var/www/html/ 569 ls 570 cd .. 571 ls 572 mkdir basededatos 573 mv 20200630-mysql-all.sql basededatos/ 574 cd basededatos/ 575 mysql 576 mysql -p 577 man mysql 578 mysql -p < show databases; 579 mysql -p < echo "show databases;" 580 mysql -p < $(echo "show databases;") 581 mysql -p -e "show databases;" 582 mysql -p -e "show databases;" | grep -P "^|" 583 mysql -p -e "show databases;" | grep -P "^|" | grep -v "Database" 584 mysql -p -e "show databases;" | grep -P "^|" | grep -v "Database|information_schema|mysql|performance_schema" 585 mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema" 586 for base in $(mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema"); do echo base ; done 587 for base in $(mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema"); do echo $base ; done 588 $mysqldump -p slsvorg_wikiosgoes > 20200701-slsvorg_wiki-osgoes.sql 589 #mysqldump -p slsvorg_wikiosgoes > 20200701-slsvorg_wiki-osgoes.sql 590 for base in $(mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema"); do echo $base ; mysqldump -p $base > 20200701-slsvorg-$base.sql ; done 591 ls -alh 621 vi wiki.osgoes.slsv.org.conf 622 cd ../sites-enabled/ 623 ln -s ../sites-available/wiki.osgoes.slsv.org.conf 624 cd /var/www/ 625 vi /etc/nginx/sites-enabled/wiki.osgoes.slsv.org.conf 626 mv wikihola wiki-osgoes 627 systemctl restar nginx 628 systemctl restart nginx 629 systemctl status nginx 630 mv wiki-osgoes wikihola 631* /home/respaldo/ 632 ls 633 rm 20200701-slsvorg_wiki-osgoes.sql 20200701-wikiosgoes.tar.gz 634 ls 635 cd wikiosgoes/ 636 ls 637 mariadb -u wikiuosgoesuser wikiosgoesdb -p < /home/respaldo/wikiosgoes/20200701-slsvorg_wiki-osgoes.sql 638 mariadb -u wikiosgoesuser wikiosgoesdb -p < /home/respaldo/wikiosgoes/20200701-slsvorg_wiki-osgoes.sql 639 mariadb -u wikiosgoesuser wikiosgoesdb -p 640 cd /var/www/ 641 ls 642 cp /home/respaldo/wikiosgoes/20200701-wikiosgoes.tar.gz wikihola/ 643 cd wikihola/ 644 ls 645 mv var varwiki 646 ls 647 tar -zxvf 20200701-wikiosgoes.tar.gz 648 cd .. 649 ls 650 tar -zxvf mediawiki-1.34.2.tar.gz 651 mv mediawiki-1.34.2 wiki-osgoes 652 cd wiki-osgoes/ 653 ls 654 cp -rp ../wikihola/var/www/wiki.osgoes/LocalSettings.php . 655 cp -rp ../wikihola/var/www/wiki.osgoes/images/* images/ 656 ls 657 ls --color 658 ls -alh --color ../wikihola/var/www/wiki.osgoes 659 ls --color ../wikihola/var/www/wiki.osgoes 660 ls --color 661 ls --color ../wikihola/var/www/wiki.osgoes/extensions/ 662 ls extensions/ 663 ls --color ../wikihola/var/www/wiki.osgoes/skins/ 664 ls skins/ 665 vi LocalSettings.php 666 ls 667 ls --color ../wikihola/var/www/wiki.osgoes 668 ls 669 ls --color ../wikihola/var/www/wiki.osgoes 670 ls --color ../wikihola/var/www/wiki.osgoes 671 ls --color 672 ls images/ 673 cd maintenance/ 674 php7.3 update.php 675 cd .. 676 ls --color ../wikihola/var/www/wiki.osgoes/extensions/ 677* ls extensions 678 ls --color ../wikihola/var/www/wiki.osgoes 679 ls 680 ls 681 vi UPGRADE 682 cd maintenance/ 683 ls 684 php7.3 update.php 685 vi /var/www/wiki-osgoes/LocalSettings.php 686 php7.3 update.php 687 vi /var/www/wiki-osgoes/LocalSettings.php 688 php7.3 update.php 689 vi /var/www/wiki-osgoes/LocalSettings.php 690 ls 691 cd .. 692 vi LocalSettings.php 693 ls 694 ls -alh 695 cp -rp ../wikihola/var/www/wiki/skins/ extensions/ 696 chown -R www-data.www-data . 697 ls -alh 698 tail -f /var/log/nginx/*.log 699 vi LocalSettings.php 700 tail -f /var/log/nginx/*.log 701 tail -f /var/log/nginx/*.log 702 vi LocalSettings.php 703 ls extensions/ 704 vi LocalSettings.php 705 vi LocalSettings.php 706 vi LocalSettings.php 707 vi LocalSettings.php 708 vi LocalSettings.php 709 cd maintenance/ 710 php7.3 update.php 711 ls -alh 712 date 713 ls -alh .. 714 ls -alh ../ 715 diff ../LocalSettings.php ../../wiki/LocalSettings.php 716 diff ../LocalSettings.php ../../wiki/LocalSettings.php |less 717 cd .. 718 ls 719 vi LocalSettings.php 720 ls -alh ../wikihola/var/www/wiki.osgoes/extensions/ 721 vi LocalSettings.php 722 ls -alh /home/respaldo/ 723 ls -alh /home/respaldo/basededatos/ 724 ls 725 cd 726 ls 727 history 592 mysqldump -p slsvorg_wikiosgoes > 20200701-slsvorg_wiki-osgoes.sql 593 ls -alh 594 vi 20200701-slsvorg-postfix.sql 595 history 528 @tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki 529 #@tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki 530 #tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki 531 ls 532 cd sitios/ 533 ls 534 mkdir wiki 535 cd wiki/ 536 ls 537 tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki 538 mysql 539 mysql -p 540 mysqldump -p slsvorg_wiki > 20200701-slsvorg_wiki.sql 541 ls 542 cd .. 543 #rsync -av 544 ls 545 hi 546 history 547 rsync -a wiki respaldo@88.99.82.174:~ 548 ls 549 ls 550 ls /var/www/wiki.osgoes/ 551 ls /var/www/ 552 #tar -zcvvf 20200701-wiki.tar.gz /var/www/wiki.osgoes 553 ls 554 mkdir wikiosgoes 555 cd wikiosgoes/ 556 tar -zcvvf 20200701-wikiosgoes.tar.gz /var/www/wiki.osgoes 557 ls 558 mysql -p 559 mysqldump -p slsvorg_wikiosgoes > 20200701-slsvorg_wiki-osgoes.sql 560 ls 561 cd .. 562 rsync -a wikiosgoes/ respaldo@88.99.82.174:~ 563 ls 564 rsync -a wikiosgoes respaldo@88.99.82.174:~ 565 ls /var/www/ 566 ls /var/www/lista/ 567 ls /var/www/rc/ 568 ls /var/www/html/ 569 ls 570 cd .. 571 ls 572 mkdir basededatos 573 mv 20200630-mysql-all.sql basededatos/ 574 cd basededatos/ 575 mysql 576 mysql -p 577 man mysql 578 mysql -p < show databases; 579 mysql -p < echo "show databases;" 580 mysql -p < $(echo "show databases;") 581 mysql -p -e "show databases;" 582 mysql -p -e "show databases;" | grep -P "^|" 583 mysql -p -e "show databases;" | grep -P "^|" | grep -v "Database" 584 mysql -p -e "show databases;" | grep -P "^|" | grep -v "Database|information_schema|mysql|performance_schema" 585 mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema" 586 for base in $(mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema"); do echo base ; done 587 for base in $(mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema"); do echo $base ; done 588 $mysqldump -p slsvorg_wikiosgoes > 20200701-slsvorg_wiki-osgoes.sql 589 #mysqldump -p slsvorg_wikiosgoes > 20200701-slsvorg_wiki-osgoes.sql 590 for base in $(mysql -p -e "show databases;" | grep -P "^|" | grep -Ev "Database|information_schema|mysql|performance_schema"); do echo $base ; mysqldump -p $base > 20200701-slsvorg-$base.sql ; done 591 ls -alh 592 mysqldump -p slsvorg_wikiosgoes > 20200701-slsvorg_wiki-osgoes.sql 593 ls -alh 594 vi 20200701-slsvorg-postfix.sql 595 history
En el nuevo para la actualizacion del media wiki
621 vi wiki.osgoes.slsv.org.conf 622 cd ../sites-enabled/ 623 ln -s ../sites-available/wiki.osgoes.slsv.org.conf 624 cd /var/www/ 625 vi /etc/nginx/sites-enabled/wiki.osgoes.slsv.org.conf 626 mv wikihola wiki-osgoes 627 systemctl restar nginx 628 systemctl restart nginx 629 systemctl status nginx 630 mv wiki-osgoes wikihola 631* /home/respaldo/ 632 ls 633 rm 20200701-slsvorg_wiki-osgoes.sql 20200701-wikiosgoes.tar.gz 634 ls 635 cd wikiosgoes/ 636 ls 637 mariadb -u wikiuosgoesuser wikiosgoesdb -p < /home/respaldo/wikiosgoes/20200701-slsvorg_wiki-osgoes.sql 638 mariadb -u wikiosgoesuser wikiosgoesdb -p < /home/respaldo/wikiosgoes/20200701-slsvorg_wiki-osgoes.sql 639 mariadb -u wikiosgoesuser wikiosgoesdb -p 640 cd /var/www/ 641 ls 642 cp /home/respaldo/wikiosgoes/20200701-wikiosgoes.tar.gz wikihola/ 643 cd wikihola/ 644 ls 645 mv var varwiki 646 ls 647 tar -zxvf 20200701-wikiosgoes.tar.gz 648 cd .. 649 ls 650 tar -zxvf mediawiki-1.34.2.tar.gz 651 mv mediawiki-1.34.2 wiki-osgoes 652 cd wiki-osgoes/ 653 ls 654 cp -rp ../wikihola/var/www/wiki.osgoes/LocalSettings.php . 655 cp -rp ../wikihola/var/www/wiki.osgoes/images/* images/ 656 ls 657 ls --color 658 ls -alh --color ../wikihola/var/www/wiki.osgoes 659 ls --color ../wikihola/var/www/wiki.osgoes 660 ls --color 661 ls --color ../wikihola/var/www/wiki.osgoes/extensions/ 662 ls extensions/ 663 ls --color ../wikihola/var/www/wiki.osgoes/skins/ 664 ls skins/ 665 vi LocalSettings.php 666 ls 667 ls --color ../wikihola/var/www/wiki.osgoes 668 ls 669 ls --color ../wikihola/var/www/wiki.osgoes 670 ls --color ../wikihola/var/www/wiki.osgoes 671 ls --color 672 ls images/ 673 cd maintenance/ 674 php7.3 update.php 675 cd .. 676 ls --color ../wikihola/var/www/wiki.osgoes/extensions/ 677* ls extensions 678 ls --color ../wikihola/var/www/wiki.osgoes 679 ls 680 ls 681 vi UPGRADE 682 cd maintenance/ 683 ls 684 php7.3 update.php 685 vi /var/www/wiki-osgoes/LocalSettings.php 686 php7.3 update.php 687 vi /var/www/wiki-osgoes/LocalSettings.php 688 php7.3 update.php 689 vi /var/www/wiki-osgoes/LocalSettings.php 690 ls 691 cd .. 692 vi LocalSettings.php 693 ls 694 ls -alh 695 cp -rp ../wikihola/var/www/wiki/skins/ extensions/ 696 chown -R www-data.www-data . 697 ls -alh 698 tail -f /var/log/nginx/*.log 699 vi LocalSettings.php 700 tail -f /var/log/nginx/*.log 701 tail -f /var/log/nginx/*.log 702 vi LocalSettings.php 703 ls extensions/ 704 vi LocalSettings.php 705 vi LocalSettings.php 706 vi LocalSettings.php 707 vi LocalSettings.php 708 vi LocalSettings.php 709 cd maintenance/ 710 php7.3 update.php 711 ls -alh 712 date 713 ls -alh .. 714 ls -alh ../ 715 diff ../LocalSettings.php ../../wiki/LocalSettings.php 716 diff ../LocalSettings.php ../../wiki/LocalSettings.php |less 717 cd .. 718 ls 719 vi LocalSettings.php 720 ls -alh ../wikihola/var/www/wiki.osgoes/extensions/ 721 vi LocalSettings.php 722 ls -alh /home/respaldo/ 723 ls -alh /home/respaldo/basededatos/ 724 ls 725 cd 726 ls 727 history