]> git.leonardobizzoni.com Git - highschool-graduation-project/commitdiff
Creazione container web,db + changed fs
authorLeonardoBizzoni <leo2002714@gmail.com>
Tue, 12 Apr 2022 10:54:38 +0000 (12:54 +0200)
committerLeonardoBizzoni <leo2002714@gmail.com>
Tue, 12 Apr 2022 10:54:38 +0000 (12:54 +0200)
README.org
dockerfiles/web/Dockerfile [moved from containers/web/Dockerfile with 87% similarity]
dockerfiles/web/nginx.conf [moved from containers/web/nginx.conf with 89% similarity]
www/pub/index.php [new file with mode: 0644]

index fd67884bb25a847c20c12d462ea0e48a14286333..87bc1a15b7e5be4ea9ea46545193b1598d7fe14d 100644 (file)
@@ -7,9 +7,7 @@ Su [questo-sito] è possibile registrare un account con cui si può tenere tracc
 - Visual novel giocate
 - Light novel lette
 
-Inoltre è possibile realizzare una lista di VTuber preferite tra le idol di:
-- HoloLive
-- /Indipendenti/
+Inoltre è possibile realizzare una lista di VTuber preferite, seguire le loro live e ricevere notifiche via e-mail quando sono in live.
 
 ** Home page
 Nella home page è possibile vedere una lista delle ultime uscite divise per categoria [anime, manga, LN, VN] e per genere [azione, horror, sportivo, sci-fi, ...].
@@ -46,18 +44,15 @@ Questo processo lo effettua attraverso una pagina di registrazione, dove l'utent
 - Immagine di copertina
 
 ** Pagine VTuber
-Speciale pagina da cui poter partecipare alla stream della particolare VTuber direttamente, senza bisogno di recarsi sulla pagina YouTube dell'idol in questione.
-Se l'idol in questione non è attualmente live viene mostrata una pagina che notifica l'utente che lo stream è offline.
+Speciale pagina da cui poter partecipare alla stream della particolare VTuber direttamente, senza bisogno di recarsi sulla pagina YouTube/Twitch dell'idol in questione.
+Se l'idol non è attualmente live viene mostrata una pagina che notifica l'utente che lo stream è offline.
 
-Questa speciale pagina viene automaticamente creata per le idol _non_ indipendenti, per le VTuber indipendenti sarà compito dell'utente creare la loro pagina e fornire il link alla loro pagina YouTube.
-Una volta creata la pagina chiunque altro sia registrato è in grado di apportare modifiche.
-
-* Realizzazione
+* Setup
 ** Configurazione ed installazione server
 *** Server web - Nginx
-Ho deciso di utilizzare Nginx come web server perchè offre performance nettamente migliori ed è più leggero di altri web server.
+Ho deciso di utilizzare Nginx come web server per le performance nettamente migliori e leggerezza in confronto ad altri web server.
 L'installazione viene effettuata tramite un docker container e la seguente container image:
-#+begin_src dockerfile :tangle containers/web/Dockerfile
+#+begin_src dockerfile :tangle dockerfiles/web/Dockerfile
 FROM php:8.1.4-fpm-alpine3.14
 WORKDIR /var/www/html
 
@@ -71,7 +66,53 @@ RUN docker-php-ext-install pdo pdo_mysql mysqli
 RUN docker-php-ext-enable pdo_mysql
 
 RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
+RUN php-fpm &
 
 COPY nginx.conf /etc/nginx/nginx.conf
+CMD php-fpm -D && nginx -g "daemon off;"
+#+end_src
+
+Nginx utilizza il seguente file di configurazione:
+#+begin_src conf :tangle dockerfiles/web/nginx.conf
+user nginx;
+worker_processes 4;
+
+error_log /var/log/nginx/error.log warn;
+
+events {
+    worker_connections 1024;
+}
+
+http {
+        server {
+               listen 80 default_server;
+               listen [::]:80 default_server;
+
+               root /var/www/html;
+               index index.php index.html index.htm index.nginx-debian.html;
+               server_name _;
+
+               location / {
+                        try_files $uri $uri/ =404;
+                }
+
+                location ~ \.php$ {
+                        fastcgi_pass      127.0.0.1:9000;
+                        fastcgi_index     index.php;
+                        include           fastcgi.conf;
+                }
+        }
+}
 #+end_src
 
+*** Server database - MariaDB
+L'installazione del database server mariadb viene anch'essa eseguita tramite un docker container e la container image disponibile su [[https://hub.docker.com/_/mariadb][hub.docker]] per cui non ha bisogno di alcuna configurazione.
+
+** Esecuzione server
+Eseguire i seguenti comandi a riga di comando per creare e avviare i container:
+#+begin_src sh
+docker build -t nomeContainerImage dockerfiles/web
+docker run -dp 80:80 -v "$PWD/www/pub":/var/www/html nomeContainerImage
+
+docker run -dp 3306:3306 -v "$PWD/DBfiles":/var/lib/mysql -e MARIADB_ROOT_PASSWORD=root --name animedb mariadb:latest --port 3306
+#+end_src
similarity index 87%
rename from containers/web/Dockerfile
rename to dockerfiles/web/Dockerfile
index 8eec44f9bc0f3ca559cf22ac96c3e5fc80b0f298..0e1ccc98872ea188f8e2afe46c3497fd4e367d6f 100644 (file)
@@ -11,5 +11,7 @@ RUN docker-php-ext-install pdo pdo_mysql mysqli
 RUN docker-php-ext-enable pdo_mysql
 
 RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
+RUN php-fpm &
 
 COPY nginx.conf /etc/nginx/nginx.conf
+CMD php-fpm -D && nginx -g "daemon off;"
similarity index 89%
rename from containers/web/nginx.conf
rename to dockerfiles/web/nginx.conf
index 47c82571f67fcea3ee66204e32d0b9babf47ed30..d9da35d2ffed3f834644b5b04a3fa38e31eab8ce 100644 (file)
@@ -1,3 +1,8 @@
+user nginx;
+worker_processes 4;
+
+error_log /var/log/nginx/error.log warn;
+
 events {
     worker_connections 1024;
 }
@@ -8,9 +13,7 @@ http {
                listen [::]:80 default_server;
 
                root /var/www/html;
-
                index index.php index.html index.htm index.nginx-debian.html;
-
                server_name _;
 
                location / {
diff --git a/www/pub/index.php b/www/pub/index.php
new file mode 100644 (file)
index 0000000..61ace19
--- /dev/null
@@ -0,0 +1,2 @@
+<?php
+phpinfo();