Ampliant l'entorn de desenvolupament web amb VirtualBox i OpenBSD

Ampliant l'entorn de desenvolupament web amb VirtualBox i OpenBSD

Des de fa anys tinc diversos projectes en màquines virtuals OpenBSD perquè és molt més còmode de mantindre, és molt robust, estable i modern per a treballar amb Nginx, MariaDB i distintes versions de PHP, entre altres coses.

La primera part, que no és l'objectiu d'aquest article, és la instal·lació d'OpenBSD 7.1 a una màquina virtual VirtualBox. Jo he fet una instal·lació completa prou estàndard agafant la configuració bridge de VirtualBox per a la xarxa, i així queda al final:

Ampliant l'entorn de desenvolupament web amb VirtualBox i OpenBSD

La única diferència que he fet del que fa la instal·lació per defecte està en la part del particionament. La màquina que tenia fins ara tenia el particionat per defecte d'OpenBSD, on el sistema li dona més espai al filesystem /home i la partició /var on està l'arrel d'Nginx amb tots els projectes web, estava ja al 95% d'espai ple. I havia pensat preparar-me una nova màquina de 100 GB per ho paticionaria manualment i nomès una única partici que munte el directori arrel "/", així tindré tot l'espai que vull per als meus projectes. I quda així:

Ampliant l'entorn de desenvolupament web amb VirtualBox i OpenBSD

Aleshores, ara mateix tinc dues màquines: la màquina OpenBSD antiga amb el filesystem /var al 95% i aquesta nova màquina OpenBSD amb 100 GB preparada:

Ampliant l'entorn de desenvolupament web amb VirtualBox i OpenBSD

I ara caldrà arrencar la màquina antiga perquè haurem de copiar fitxers de configuració, copiar els projectes web, exportar totes les bases de dades, etc. Aleshores la fiquem en marxa:

Ampliant l'entorn de desenvolupament web amb VirtualBox i OpenBSD

I ara em preguntava a mi mateix si no petaria el meu portàtil Lenovo Thinkpad x250, que sempre m'els compre de segona mà, i he volgut mirar la memòria i càrrega de les CPUs per analitzar si estava a punt d'explotar o no, i podem veure-ho amb la utilitat d'Ubuntu "Monitor del Sistema" i la veritat és que per a estar corrent un Ubuntu 22.04 i dues màquines virtuals OpenBSD al mateix temps, veig que un processador funcionen entre un 48% i un 64%, i la memòria al 85%, però res preocupant, sobre tot la part de càrrega de les CPUs.
I la memòria RAM és perquè li configure 4GB de RAM a cada màquina virtual, però en realitat una vegada configuraré el nou servidor ja no serà necessària la màquina antiga i l'apagaré, per tant alliberaré la meitat de RAM que veus actualment.

Ampliant l'entorn de desenvolupament web amb VirtualBox i OpenBSD

Ara, amb les dues màquines funcionant, començarem a preparar el nou servidor de desenvolupament. La idea és instal·lar un servidor web Nginx, un servidor de bases de dades MariaDB, amb totes les llibreries i configuracions necessàries per a, finalment, poder tenir projectes Drupal 9 funcionant sense problemes.

 
INSTAL·LACIÓ I CONFIGURACIÓ DEL SERVIDOR WEB
Instal·larem el servidor web ngin amb:

doas pkg_add -vi nginx

A continuació, instal·larem el PHP 7.4 de la següent manera (es pot instal·lar distintes versions de PHP i configurar projectes que apunten a distintes versions, però jo nomès necessite la 7.4):

doas pkg_add -vi php-7.4.29 php-curl-74.29 php-gd-7.4.29 php-pdo_mysql-7.4.29

Ara, si tot ha anat bé, llistarem el directori de mòduls i veurem que els tenim instal·lats perfectament:

# ls /usr/local/lib/php-7.4/modules/
curl.so gd.so opcache.so pdo_mysql.so
#

Haurem de configurar el fitxer de PHP i dir-li que active estos mòduls. Editarem /etc/php-7.4.ini i el deixarem així en la part de les extensions dels mòduls instal·lats:


;extension=bz2
extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
extension=gd
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

Ara copiarem el fitxer de configuració de l'Nginx de la màquina antiga a la nova amb:

scp /etc/nginx/nginx.conf joan@maquina_nova:/tmp/.

Reiniciem el servei PHP i Nginx:


openbsd100$ doas /etc/rc.d/php74_fpm restart
php74_fpm(ok)
php74_fpm(ok)
openbsd100$ doas /etc/rc.d/nginx restart
nginx(ok)
nginx(ok)

 
INSTAL·LACIÓ I CONFIGURACIÓ DEL SERVIDOR DE BASES DE DADES
I instal·larem el servidor de bases de dades MariaDB amb:

doas pkg_add -vi maridb-server mariadb-client

I per acabar amb la configuració del servidor de bases de dades, et comentaré que de moment nomès podràs accedir des de la pròpia màquina on està instal·lat MariaDB, ja que per defecte hi ha un bloqueig dels accesos i MySQL/MariaDB nomès deixa fer consultes a les bases de dades des de la IP 127.0.0.1, aleshores haurem de modificar aquest bloqueig i obrir MariaDB per a que qualsevol persona des de qualsevol IP puga anar fullejant les pàgines del gestor de continguts Drupal albergat al MariaDB.

Editarem /etc/my.cnf i modifiquem el paràmetre que diu bind-address = 127.0.0.1 i deixarem:

bind-address = *

També en aquest fitxer /etc/my.cnf anem a donar-li més memòria al servei mysqld, i li donarem 64, enlloc de nomès 1Mb:

max_allowed_packet = 64M

I ara finalment per tenir enllestits tant els serveis de servidor web i de servidor de bases de dades, modificarem /etc/rc.conf.local per a que ens arranque els serveis:


nginx_flags=""
pkg_scripts=nginx php74_fpm mysqld

 
INSTAL·LACIÓ DE PROGRAMARI ADDICIONAL
Si ara reiniciem, podrem comprovar que ja està funcionant.

A continuació, instal·larem algunes utilitats addicionals:

doas pkg_add -vi neofetch curl wget lynx

Configurarem el doas propi d'OpenBSD per tal de poder executar aplicacions del superusuari sense necessitat de contrasenya. Aleshores, editarem /etc/doas.conf i afegirem:

permit :wheel
permit nopass joan

 
MIGRACIÓ DE PROJECTES WEB
Ara em passe tots els projectes web que tinc a /var/www en el servidor antic i m'ho passe comprimit al servidor nou al vol:

tar cvfz - * | ssh joan@192.168.1.135 "cat > /tmp/tot.tar.gz"

I ara, a la màquina nova descomprimiré amb:

mv /tmp/tot.tar.gz /var/www/.
cd /var/www
tar xvfz tot.tar.gz

Ara reiniciarem la màquina en aquest punt en el que ens trobem, i anem a configurar ja les bases de dades de Drupal. Aleshores, primer configurarem MariaDB i li assignarem contrasenya a l'administrador, que ser l'usuari qui crearà noves bases de dades, usuaris i còpies de segureitat. Aleshores, primer farem:


doas mysql_install_db
Installing MariaDB/MySQL system tables in '/var/mysql' ...

A continuació arranquem el servidor MariaDB amb:

doas rcctl start mysqld
mysqld(ok)

I ara li donarem una contrasenya a l'usuari administrador, tant des de la màquina com especificant el servidor:

doas mysqladmin --user=root password 'LA_TEUA_CONTRASENYA'
doas mysqladmin -h localhost --user=root password 'LA_TEUA_CONTRASENYA'

I ja podem començar a exportar les bases de dades en la màquina antiga, crear les bases de dades en la nova i importar-les. I una vegada acabem este procés, ja tindrem el sistema idèntic a la màquina anterior.

Exportem les bases de dades de la màquina antiga amb:

doas mysqldump -h localhost -u root -p base_1_db > base_1_db.sql
doas mysqldump -h localhost -u root -p base_2_db > base_2_db.sql
doas mysqldump -h localhost -u root -p base_3_db > base_3_db.sql
doas mysqldump -h localhost -u root -p base_4_db > base_4_db.sql
doas mysqldump -h localhost -u root -p base_5_db > base_5_db.sql

I ara, a la nova màquina de 100GB, crearem les bases de dades i l'usuari amb privilegis totals per a les taules de la base de dades de la segúent manera:

CREATE DATABASE base_1_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
#.
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON base_1_db.* TO 'el_teu_usuari'@'localhost' IDENTIFIED BY 'la_contrasenya';
#.
FLUSH PRIVILEGES;

 
ARTICLES RELACIONATS:

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES