-
Notifications
You must be signed in to change notification settings - Fork 0
/
guida01.rtf
126 lines (125 loc) · 11.9 KB
/
guida01.rtf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
{\rtf1\ansi\ansicpg1252\cocoartf1671\cocoasubrtf600
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;\red22\green21\blue22;\red246\green246\blue246;\red18\green79\blue146;
}
{\*\expandedcolortbl;;\cssrgb\c11373\c10980\c11373;\cssrgb\c97255\c97255\c97255;\cssrgb\c7059\c39216\c63922;
}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\deftab720
\pard\pardeftab720\sl340\partightenfactor0
\f0\fs30 \cf2 \cb3 \expnd0\expndtw0\kerning0
\outl0\strokewidth0 \strokec2 # **************************************************************************** #\
\'a0#\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 #\
\'a0#\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 :::\'a0\'a0\'a0\'a0\'a0 ::::::::\'a0\'a0\'a0 #\
\'a0#\'a0\'a0\'a0 README.txt\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 :+:\'a0\'a0\'a0\'a0\'a0 :+:\'a0\'a0\'a0 :+:\'a0\'a0\'a0 #\
\'a0#\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 +:+ +:+\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 +:+\'a0\'a0\'a0\'a0\'a0 #\
\'a0#\'a0\'a0\'a0 By: gnastro <marvin@42.fr>\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 +#+\'a0 +:+\'a0\'a0\'a0\'a0\'a0\'a0 +#+\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 #\
\'a0#\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 +#+#+#+#+#+\'a0\'a0 +#+\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 #\
\'a0#\'a0\'a0\'a0 Created: 2021/02/18 14:00:25 by gnastro\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 #+#\'a0\'a0\'a0 #+#\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 #\
\'a0#\'a0\'a0\'a0 Updated: 2021/02/19 12:19:31 by gnastro\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 ###\'a0\'a0 ########.fr\'a0\'a0\'a0\'a0\'a0\'a0\'a0 #\
\'a0#\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 #\
\'a0# **************************************************************************** #\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0////***Questo file non va pushato, spiega semplicemente il procedeimento di ft_server***\\\\\\\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0N.B. Ogni volta che metto i doppi apici questi ultimi non vanno replicati\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0Lo scopo di ft_server \'e9 creare un server in locale, quindi attivare il dominio localhost sulla porte 80:80 e 443:443, su cui hostare il sito wordpress (con relativo dtabase mysql)\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0////***COME INIZIARE***\\\\\\\\\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0Come prima cosa bisogna capire cos'\'e9 il Docker e come noi dobbiamo utilizzarlo per il nostro progetto.\
\'a0il Docker \'e9 uno strumento che automatizza i processi di sviluppo , tutto questo avviene in un container. La differenza maggiore tra il Docker e un virtual enviroment di Python \'e9 che il virtual enviroment si limita solo ai comandi di python , mentre nel docker ogni utente ha piena libert\'e1 su dipendenze e comandi.\
\'a0Il Docker di base ha tre comandi essenziali: FROM ovvero il sistema operativo su cui hostare il Docker, nel nostro caso sar\'e1 debian 10 aka *debian:buster*, RUN ovvero i comandi da runnare per automatizzare i processi (per esempio apt install nginx) , COPY che serve perche nel server che creerai ci sar\'e1 bisogno di modificare alcuni file e visto che tu a fine progetto non potrai entrare per modificare a mano i file , ma li andrai a sostituire\'a0 con file che inserirai in srcs (ovvero una cartella che creerai nella cartella del Docker) che \'e9 una cartella dove andrai a inserire tutti i file di configurazione.\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0Ora che hai capito cos'\'e9 e come opera il Docker\'a0 crea il docker file col comando *vim Dockerfile* scrivendoci solo *FROM debian:buster* e *CMD bash* salvare e chiuderlo. Per adesso accantonerai la scrittura del Docker per capire i processi utili alla creazione del server e la sua configurazione, e solo in un secondo momento ti occuperai dell'automazione del processo. (Anche perch\'e9 se non lo conosci non puoi automatizzarlo).\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0////***CREARE IL CONTAINER***\\\\\\\\\
\'a0Ora che hai creato il Docker file nella sua directory lancia il comando *docker build -t "nome che vuoi dare al container (es. test)" . (Il punto serve a specificare la directory )*, ora lanciare il comando *docker run -it -d -p 80:80 "nome che hai dato al container creato"*, ora per controllare se il processo \'e9 avvenuto correttamente lanciare il comando *docker ps -a* ci aprir\'e1 una lista con i container creati, le porte aperte relative al container e il nome che dovrai copiarti. Come ultimo comando lancia *docker exec -it "nome che ti sei precedentemente copiato" bash* ora dovresti essere entrato nel magico mondo della root.\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0////***CREARE IL SERVER ONLINE***\\\\\\\\\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0Una volta all'interno della root bisogna aggiornare il tutto con i comandi *apt update* e *apt upgrade* installare il nostro web server, nel nostro caso Nginx ( ma in un futuro , fuori dalla 42, potrebbe tornarci utile Apache poich\'e9 con i contenuti statici Nginx si comporta in modo molto piu efficiente rispetto ad Apache) , quindi lanciare il comando *apt install nginx* seguito da *service nginx start*. Per verificare\'a0 la riuscita installazione nginx cercare nel broswer localhost:80 e se vi apparir\'e1 "welcome to nginx"\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0////***INSTALLARE DATABASE***\\\\\\\\\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0A questo punto lanciare il comando *apt install mariadb-server* e per configurare il database , *service mysql start* per inizializzarlo\'a0 e per\'a0 entrare nella console di quest'ultimo digitare semplicemente *mariadb*. Ora dovreste essere nel terminale del database, se si digitare *CREATE DATABASE "nome con cui volete chiamare il database";* successivamente per creare un nuovo user e conferirgli tutti i privilegi *GRANT ALL ON "nome con cui hai chiamato il database".* TO "example_user"@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;* ora digitare *FLUSH PRIVILEGES;* per salvare i privilegi e *exit* per uscire dal terminale del database.\
\'a0Per verificare se hai eseguito correttamente i passaggi scritti sopra digita *mariadb -u "example user" -p* e dopo essere entrato fare *SHOW DATABASES;* che dovrebbe restituirti\
\'a0| Database\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0\'a0 |\
\'a0+--------------------+\
\'a0| example_database\'a0\'a0 |\
\'a0| information_schema |\
\'a0+--------------------+\
\'a02 rows in set (0.000 sec)\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0\'a0ora esci dal terminale del database con *exit*;\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0////***INSTALLARE PHP***\\\\\\\\\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0Per installare php digitare come comando *apt install php7.3-fpm php-mysql*\
\'a0Dare i permessi alla directory dove andremo a mettere i file legati ai domini (wordpress. phpmyadmin,info.php) quindi *chown -R $USER:USER var/www/html* (sostituiremo USER con il nome dell'utente che vogliamo N.B. se hai un nome utente con il '-' inseriscilo senza il - altrimenti viene considerato come flag).\
\'a0Ora bisogna modificare alcuni file quindi andremo ad installare vim *apt install vim* e andiamo a modificare con *vim etc/nginx/sites-avaiable/default* il file di default andando a cancellare il suo contenuto e incollando server-conf che sta in scsr (commentando la parte relativa all ssl che sono due linee di codice che dovrai commentare pi\'f9 tardi) e poi riavviare sia php e nginx con i comandi *service php7.3-fpm reload* e *service nginx reload*\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0Per verificare che i passaggi di prima sono avvenuti in modo corretto digitare *vim var/www/html/info.php* e incollare\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0<?php\
\'a0phpinfo();\
\'a0?>\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0salvare e fare sempre il solito service nginx reload e php7.3-fpm start. A questo punto aprire una finestra in incognito nel broswer e digitare localhost:80/info.php e dovrebbero uscirvi cose\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0////***INSTALLARE PHPMYADMIN***\\\\\\\\\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0Per installare e configurare phpmyadmin installarre le estensioni di php con *apt install -y php-mbstring php-json* seguito da *apt install wget* (che \'e9 un pacchetto che vi permette di prelevare link online e aviare il loro download),\
\'a0ora non ci resta che installare phpmyadmin usando il wget quindi *wget\'a0{\field{\*\fldinst{HYPERLINK "https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-english.tar.gz*"}}{\fldrslt \cf4 \strokec4 https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-english.tar.gz*}}, visto che questo file \'e9 in formato tar bisogna estrarlo col comando *tar -xzvf phpMyAdmin-5.0.2-english.tar.gz* e muoverlo nella cartella dove ostiamo il sito, nel nostro caso html, quindi entrare in var/www/html/phpmyadmin , creare un file con vim *vim config.inc.php* dove incollerai il mio config.inc.php\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0////***INSTALLARE WORDPRESS***\\\\\\\\\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0Procedimento analogo a quello di phpmyadmin quindi col wget installare wordpress con *wget\'a0{\field{\*\fldinst{HYPERLINK "https://wordpress.org/latest.tar.gz*"}}{\fldrslt \cf4 \strokec4 https://wordpress.org/latest.tar.gz*}}\'a0estrarlo col comdando *tar -xzvf latest.tar.gz* e spostare wordpress in html con *mv wordpress /var/www/html/* dare i permessi di eseguibilit\'e1 alla cartella con *chown -R www-data:www-data /var/www/html/* e in seguito copiare il mio file di configurazione di wordpress in wordpress col vim.\
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \
\pard\pardeftab720\sl340\partightenfactor0
\cf2 \'a0BASTA MI SONO SCOCCIATO DOVRESTE AVER FINITO, PER COMPILARE IL DOCKER CHIEDETE DA VICINO :)}