Instal·lem el sistema operatiu, preferiblemente sense entorn gràfic. La versió de PHP ha de ser al menys la 7.2
Els paquets a instal·lar són:
mysql_secure_installation
que configura l’usuari root). NOTA: ara la validació dels usuaris la fa el sistema (el plugin ‘auth_socket’ o ‘unix_socket’). Per a configurar un usuari amb privilegis consulta StackOverflow o qualsevol altra pàgina en internet. En resum, executem:
```bash
sudo mysql -u rootmysql> USE mysql; mysql> SELECT User, Host, plugin, authentication_string FROM mysql.user;
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘P@ssw0rd’;
mysql> UPDATE user SET password=PASSWORD(‘your_p@ssw0rd’) WHERE User=’root’; mysql> UPDATE user SET plugin=’auth_socket’ WHERE User=’root’;
mysql> FLUSH PRIVILEGES; mysql> exit;
sudo systemctl restart mysql.service # o mariadb.service
Fuente correcta para mysql:[How To Install MySQL on Ubuntu 18.04](https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04#step-2-%E2%80%94-configuring-mysql)
> Altra alternativa és instal·lar una versió més recent desde els repositoris, consulta [MariaDB Downloads](https://downloads.mariadb.org/mariadb/repositories/#mirror=tedeco&distro=Ubuntu&distro_release=bionic--ubuntu_bionic&version=10.3), o més senzill encara, tras instal·lar _phpmyadmin_ donem permisos a l'usuari phpmyadmin i utilitzem eixe usuari:
```bash
sudo mysql -u root
mysql> USE mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit;
sudo systemctl restart mysql.service
Creem els certificats (el .key en /etc/ssl/private i els altres 2 en en /etc/ssl/certs):
openssl genrsa -out intranet.key 1024
openssl req -new -key intranet.key -out intranet.csr # completem la informació que ens demanen
openssl x509 -req -in intranet.csr -signkey intranet.key -out intranet.crt
Posem en /etc/hosts el nom de la màquina (p.ej. intranet.my
).
Configurem el lloc web SSL en /etc/apache2/sites-available:
ServerName intranet.my
DocumentRoot /var/www/html/intranetBatoi/public
SSLCertificateFile /etc/ssl/certs/intranet.crt
SSLCertificateKeyFile /etc/ssl/certs/intranet.key
``bash<Directory /var/www/html/intranetBatoi/public> AllowOverride All Order Allow,Deny Allow from All </Directory>
Configurem el lloc web no SSL en _/etc/apache2/sites-available_ per a que redireccione al SSL:
* ServerName: p.ej. `ServerName intranet.my`
* Redireccionem: `Redirect permanent / https://intranet.my/`
* DocumentRoot: `DocumentRoot /var/www/html/intranetBatoi/public`
Habilitem els sites si els hem creat nous:
```bash
sudo a2ensite intranet.conf
sudo a2ensite intranet-ssl.conf
Configurem el php.ini (en /etc/php/7.x/apache2/) per a poder subir els fitxers de Itaca que són molt grans. També és convenient indicar la hora local:
post_max_size=0
upload_max_filesize = 200M
date.timezone = Europe/Madrid
Posem el nostre domini en el /etc/hosts:
127.0.0.1 intranet.my
Per a finalitzar hem d’activar (si no ho estan ja) els mòduls ssl i rewrite i reiniciar apache:
sudo a2enmod ssl
sudo a2enmod rewrite
sudo systemctl restart apache2.service
ATENCIÓ: cal que estiga la carpeta intranetBatoi ja creada abans de reiniciar Apache per que no done un error.
Instal·lem el servidor de correu exim4 y després el configurem:
sudo apt install exim4
sudo dpkg-reconfigure exim4-config
El que ens pregunta és:
A continuació editem el fitxer /etc/exim4/passwd.client per posar el nom i contrasenay del compte de gmail a utilitzar per a enviar els correus:
### target.mail.server.example:login:password
gmail-smtp.l.google.com:intranet@gmail.com:abcd@1234
*.google.com:intranet@gmail.com:abcd@1234
smtp.gmail.com:intranet@gmail.com:abcd@1234
Per a finalitzar hem de configurar el compte de GMail per a permetre a exim eixir. Es fa des de GMail -> Configuració -> Compte -> Configuració del compte de Google -> Inici de sessió i seguretat -> Aplicacions amb accés al compte -> Permet l’accés a les aplicacions menys segures i ACTIVEM aquesta opció:
Podem conprovar que funciona correctament enviant un e-mail des de la terminal:
mail el_meu_micorreu@gmail.com
També cal possar en el crontab:
Si estem gastant https:: no funcionaran els pdf por el snapy. Cal mirar la documentació d’esta pàgina per resoldre el bug https://github.com/barryvdh/laravel-snappy/issues/217. Depenent de la versió de linux que hem instal·lat variarà. Es tracta de degradar el ssl.