Nel settembre del 2017, l'EULA Caddy è stato modificato e tutte le istanze di Caddy gestite da aziende e siti Web personali che conducono attività commerciali richiedono una licenza commerciale per il file binario scaricato da Caddy. Questo tutorial aiuta i clienti che desiderano installare il server web Caddy in conformità con il nuovo EULA. Al momento in cui scrivo, quando compili Caddy dalla fonte e crei il tuo binario, non è richiesta una licenza a pagamento se sei un'azienda o fai affari sul tuo sito web personale. È importante rivedere l'ultimo EULA per verificarne la conformità prima di seguire i passaggi di questo tutorial.
Caratteristiche:
- Configurazione breve e facilmente comprensibile
- Costruito con Go
- Registrazione estensibile
- Consegna dei file statici estremamente veloce
- Supporto dinamico per sito e proxy
- Controllo della configurazione interna
- Binario statico
- Utilizza le cifre moderne consigliate da Mozilla per impostazione predefinita
- Rilevazione MITM (man in the middle)
- Supporto SNI (indicatore nome server)
- Generiamo automaticamente crittografare la generazione / recupero / rinnovo del certificato
- Supporto OCSP
- Supporto per host virtuali
- Supporto per il rendering Markdown2html
- Supporto HTTP / 2, QUIC e Websocket integrato
- Bilanciamento del carico, proxy inverso e supporto per la terminazione SSL
Prerequisiti
Aggiornamento del sistema
Accedi come un utente normale che dispone dell'autorizzazione per utilizzare il comando sudo. Aggiorna il sistema come segue.
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
Installa Caddy From Source
Scarica l'ultima versione del codice sorgente del web server Caddy. Questo non contiene plugin di terze parti per Caddy.
go get -u github.com/mholt/caddy/caddy && go get -u github.com/caddyserver/builds && cd go/src/github.com/mholt/caddy/caddy
Facoltativo: se è necessario il tls.dns.vultr
plug -in dnsproviders di terze parti, copiare quanto segue. Questo scaricherà sia il codice sorgente Caddy che il tls.dns.vultr
plug -in dnsproviders di terze parti se si desidera utilizzarlo.
go get -u github.com/mholt/caddy/caddy && go get -u github.com/caddyserver/builds && go get -u github.com/caddyserver/dnsproviders/vultr && cd go/src/github.com/mholt/caddy/caddy && sed -i '38i\\t_ "github.com/caddyserver/dnsproviders/vultr"' caddymain/run.go
Compila il caddy
binario. La compilazione richiederà meno di un minuto.
go run build.go
Controlla la versione e l'elenco dei plug-in del file caddy
binario.
./caddy -version && ./caddy -plugins
Copiare il file binario Caddy si trova nella ~/go/src/github.com/mholt/caddy/caddy/
alla /usr/bin
directory e cambiare la parte posteriore directory principale della vostra directory utente.
sudo cp caddy /usr/bin/ && cd
Creare il caddy.service
file systemd nella /etc/systemd/system/
directory usando il echo
comando
sudo su -c "echo -e '[Unit]\nAfter=network-online.target\nDescription=Caddy HTTP/2 web server\nDocumentation=https://caddyserver.com/docs\nWants=network.target\n\n[Service]\nAmbientCapabilities=CAP_NET_BIND_SERVICE\nCapabilityBoundingSet=CAP_NET_BIND_SERVICE\nEnvironment=CADDYPATH=/etc/ssl/caddy\n## Environment=VULTR_API_KEY=XXXXXXXX ##Uncomment and add your Vultr API (API tab on the Settings page) if using the Vultr DNS Manager to handle DNS for your VPS instance.\nExecReload=/bin/kill -USR1 $MAINPID\nExecStart=/usr/bin/caddy -agree=true -conf=/etc/caddy/caddy.conf -quic -root=/var/tmp\nGroup=www-data\nKillMode=mixed\nKillSignal=SIGQUIT\nLimitNOFILE=1048576\nLimitNPROC=512\nNoNewPrivileges=true\nPrivateDevices=true\nPrivateTmp=true\nProtectHome=true\nProtectSystem=full\nReadWriteDirectories=/etc/ssl/caddy\nRestart=on-abnormal\nTimeoutStopSec=5s\nUser=www-data\n\n[Install]\nWantedBy=multi-user.target' > /etc/systemd/system/caddy.service"
Creare la /etc/caddy/
directory, che conterrà il file di configurazione del web server Caddy; la /etc/ssl/caddy/
directory, che conterrà i certificati Let's Encrypt; la /usr/share/caddy/
directory, che conterrà il file html di esempio; e la /var/log/caddy/
directory, che conterrà i log del server web Caddy, usando il mkdir
comando Modificare la proprietà del www-data
gruppo nel gruppo usando il chown
comando nelle directory /etc/ssl/caddy/
e /var/log/caddy/
. Rimuovere le autorizzazioni eseguibili, leggibili e scrivibili del mondo, usando il chmod
comando per proteggere la /etc/ssl/caddy/
directory.
sudo mkdir -p {/etc/{caddy/conf.d,ssl/caddy},/usr/share/caddy,/var/log/caddy} && sudo chown www-data /etc/ssl/caddy/ /var/log/caddy/ && sudo chmod 750 /etc/ssl/caddy/
Abilitare il server web Caddy.
sudo systemctl daemon-reload && sudo systemctl enable caddy
Ogni sezione di seguito spiega come configurare Caddy per diversi scenari. Puoi usarli come riferimento e passare alla sezione che soddisfa i tuoi requisiti.
Programma di installazione per visualizzare pagine HTML statiche (non SSL)
Creare un file modello di configurazione di base a livello di root denominato caddy.conf
nella /etc/caddy/
directory, che utilizza un'importazione per il file di configurazione vhost effettivo per un sito Web HTML statico di esempio denominato example.com.conf
nella /etc/caddy/conf.d/
directory utilizzando il echo
comando.
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com:80 {\n\tredir http://www.example.com{url}\n}\nwww.example.com:80 {\n\terrors /var/log/caddy/example.com-error.log\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
Crea la /var/www/html
directory e crea un semplice index.html
interno usando il echo
comando.
sudo mkdir -p /var/www/html && sudo su -c 'echo -e "<!DOCTYPE html>"\\n"<head>"\\n\\t"<meta charset="utf-8">"\\n\\t"<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">"\\n\\t"<title>Static HTML Page"\\n\\t"</title>"\\n\\t"<meta name="description" content="">"\\n\\t"<meta name="viewport" content="width=device-width, initial-scale=1">"\\n"</head>"\\n"<body>"\\n\\t"<p>Caddy is working."\\n\\t"</p>"\\n"</body>"\\n"</html>" > /var/www/html/index.html'
Avviare il server Web Caddy.
sudo systemctl start caddy
Aprire il browser Web sul nome di dominio completo ( example.com
) dell'istanza VPS.
Programma di installazione per visualizzare pagine HTML statiche (SSL)
Creare un file modello di configurazione di base a livello di root denominato caddy.conf
nella /etc/caddy/
directory che utilizza un'importazione per il file di configurazione vhost effettivo per un sito Web HTML statico di esempio denominato example.com.conf
nella /etc/caddy/conf.d/
directory utilizzando il echo
comando.
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com {\n\tredir https://www.example.com{url}\n}\nwww.example.com {\n\terrors /var/log/caddy/example.com-error.log\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n\ttls [email protected]\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
Crea la /var/www/html
directory e crea un semplice index.html
interno usando il echo
comando.
sudo mkdir -p /var/www/html && sudo su -c 'echo -e "<!DOCTYPE html>"\\n"<head>"\\n\\t"<meta charset="utf-8">"\\n\\t"<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">"\\n\\t"<title>Static HTML Page"\\n\\t"</title>"\\n\\t"<meta name="description" content="">"\\n\\t"<meta name="viewport" content="width=device-width, initial-scale=1">"\\n"</head>"\\n"<body>"\\n\\t"<p>Caddy is working."\\n\\t"</p>"\\n"</body>"\\n"</html>" > /var/www/html/index.html'
Avviare il server Web Caddy.
sudo systemctl start caddy
Aprire il browser Web sul nome di dominio completo ( example.com
) dell'istanza VPS.
Programma di installazione per elaborare pagine PHP tramite proxy del server PHP-FPM (non SSL)
Creare un file modello di configurazione di base a livello di root denominato caddy.conf
nella /etc/caddy/
directory che utilizza un'importazione per il file di configurazione vhost effettivo per una pagina PHPInfo di esempio denominata example.com.conf
nella /etc/caddy/conf.d/
directory utilizzando il echo
comando.
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com:80 {\n\tredir http://www.example.com{url}\n}\nwww.example.com:80 {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
Crea un semplice index.php
nella /var/www/html
directory usando il echo
comando
sudo su -c 'echo -e "<?php\nphpinfo();\n?>" > /var/www/html/index.php'
Installa il server PHP-FPM per elaborare i file PHP.
sudo apt install php-fpm -y
Avviare il server Web Caddy.
sudo systemctl start caddy
Aprire il browser Web sul nome di dominio completo ( example.com
) dell'istanza VPS.
Programma di installazione per elaborare le pagine PHP tramite proxy del server PHP-FPM (SSL)
Creare un file modello di configurazione di base a livello di root denominato caddy.conf
nella /etc/caddy/
directory che utilizza un'importazione per il file di configurazione del vhost effettivo per un sito Web di test dinamico di esempio denominato example.com.conf
nella /etc/caddy/conf.d/
directory utilizzando il echo
comando.
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com {\n\tredir https://www.example.com{url}\n}\nwww.example.com {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n\ttls [email protected]\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
Crea un semplice index.php
nella /var/www/html
directory usando il echo
comando
sudo su -c 'echo -e "<?php\nphpinfo();\n?>" > /var/www/html/index.php'
Installa il server PHP-FPM per elaborare i file PHP.
sudo apt install php-fpm -y
Avviare il server Web Caddy.
sudo systemctl start caddy
Aprire il browser Web sul nome di dominio completo ( example.com
) dell'istanza VPS.
Programma di installazione per eseguire Wordpress eseguendo il proxy del server PHP-FPM (non SSL)
Creare un file modello di configurazione di base a livello di root denominato caddy.conf
nella /etc/caddy/
directory che utilizza un'importazione per il file di configurazione vhost effettivo per un sito Web di prova Wordpress di esempio denominato example.com.conf
nella /etc/caddy/conf.d/
directory utilizzando il echo
comando.
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com:80 {\n\tredir http://www.example.com{url}\n}\nwww.example.com:80 {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\trewrite {\n\t\tif {path} not_starts_with /wp-admin\n\t\tif {path} not_starts_with /wp-content\n\t\tif {path} not_starts_with /wp-includes\n\t\tto {path} {path}/ /index.php\n\t}\n\troot /var/www/html/\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
Installa il unzip
programma per estrarre il file tar-gzipped di Wordpress ( latest.tar.gz
).
sudo apt install unzip
Scarica il latest.tar.gz
file nella /tmp/
directory, modifica le autorizzazioni utente e di gruppo della /var/www/html
directory per l'utente www-data
e il gruppo www-data
ed estrai il contenuto del latest.tar.gz
file nella /var/www/html/
directory.
sudo su - www-data -c "wget -N -P /tmp/ -q https://wordpress.org/latest.tar.gz" -s /bin/bash && sudo chown -R www-data.www-data /var/www/html && sudo su - www-data -c "tar -C /var/www/html/ -zxf /tmp/latest.tar.gz --strip-components=1" -s /bin/bash && sudo su - www-data -c "rm /tmp/latest.tar.gz" -s /bin/bash
Installa il server PHP-FPM per elaborare i file PHP e le estensioni PHP richieste per interagire con Wordpress.
sudo apt install php-curl php-fpm php-imagick php-mbstring php-mcrypt php-mysql php-pspell php-xmlrpc -y
Installa il server di database MariaDB per archiviare i dati per Wordpress.
sudo apt install mariadb-server -y
Facoltativo: disabilitare skip-name-resolve
per evitare la penalità di ricerca DNS per le connessioni client, disattivare il TCP/IP
listener del database e utilizzare solo socket unix.
sudo sed -i '26iskip-name-resolve\nskip-networking' /etc/mysql/mariadb.conf.d/50-server.cnf
Riavviare il server di database MariaDB sulle nuove modifiche di configurazione.
sudo systemctl restart mysql
Proteggere il server di database MariaDB. Sostituisci il ********
supporto sottostante nel primo comando con una nuova password di root.
sudo mysql -e "UPDATE mysql.user SET Password=PASSWORD('********') WHERE User='root'" && sudo mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" && sudo mysql -e "DELETE FROM mysql.user WHERE User=''" && sudo mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'" && sudo mysql -e "" && sudo mysql -e "FLUSH PRIVILEGES"
Creare un database wordpress_example_com
, per Wordpress; un utente database specifico, wordpress_example_com_admin
e le autorizzazioni database minime necessarie, ( ALTER
, CREATE
, DELETE
, DROP
, INDEX
, INSERT
, SELECT
, e UPDATE
), per il core e Wordpress giorno installazioni plugin al giorno di funzionamento e core / plugin di aggiornamenti. Sostituisci example_com
in wordpress_example_com
con il tuo vero nome di dominio, example_com
in wordpress_example_com_admin
con il tuo vero nome di dominio e ********
con una nuova password specifica per l' wordpress_example_com_admin
utente.
sudo mysql -e "CREATE DATABASE wordpress_example_com DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" && sudo mysql -e "CREATE USER 'wordpress_example_com_admin'@'localhost' IDENTIFIED BY '********'; GRANT USAGE ON *.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "GRANT ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE ON wordpress_example_com.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "FLUSH PRIVILEGES"
Crea il file di configurazione di Wordpress wp-config.php
, nella /var/www/html
directory. Sostituisci example_com
in wordpress_example_com
con il tuo vero nome di dominio, example_com
in wordpress_example_com_admin
con il tuo vero nome di dominio e ********
con una nuova password specifica per l' wordpress_example_com_admin
utente.
sudo su - www-data -c 'echo -e "<?php\ndefine('\'DB_CHARSET''\'', '\'utf8''\'');\ndefine('\'DB_COLLATE''\'', '\'''\'');\ndefine('\'DB_HOST''\'', '\'localhost''\'');\ndefine('\'DB_NAME''\'', '\'wordpress_example_com''\'');\ndefine('\'DB_PASSWORD''\'', '\'********''\'');\ndefine('\'DB_USER''\'', '\'wordpress_example_com_admin''\'');\ndefine('\'FS_METHOD''\'', '\'direct''\'');\ndefine('\'WP_DEBUG''\'', false);" > /var/www/html/wp-config.php' -s /bin/bash && sudo su -c www-data -c "curl -s https://api.wordpress.org/secret-key/1.1/salt/ >> /var/www/html/wp-config.php" && sudo su - www-data -c 'echo -e "\$table_prefix = '\'wp_''\'';\nif ( !defined('\'ABSPATH''\'') )\n\tdefine('\'ABSPATH''\'', dirname(__FILE__) . '\'/''\'');\nrequire_once(ABSPATH . '\'wp-settings.php''\'');\nfunction _remove_script_version( \$src ){ if ( strpos( \$src, '\'ver=''\'' ) ) \$src = remove_query_arg( '\'ver''\'', \$src ); return \$src; }\nadd_filter( '\'script_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );\nadd_filter( '\'style_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );" >> /var/www/html/wp-config.php' -s /bin/bash
Avviare il server Web Caddy.
sudo systemctl start caddy
Apri il tuo browser web sul nome di dominio completo ( example.com
) dell'istanza VPS. Vedrai una pagina di selezione della lingua. Dopo aver selezionato la lingua, fai clic sul Continue
pulsante blu , in basso a destra, per andare al passaggio successivo dell'installazione di Wordpress.
Nella pagina successiva, inserisci un titolo per il tuo sito Web nel Site Title
campo (1), un nome utente di amministratore nel Username
campo (2). Usa la password generata o inserisci la tua password nel Password
campo (3). Inserisci un indirizzo email valido nel Your Email
campo (4) e abilita o lascia disabilitata l' Search Engine Visibility
opzione (5), a seconda che il tuo sito sia in fase di costruzione. Quando sei soddisfatto, fai clic sul Install Wordpress
pulsante grigio (6) per completare l'installazione di Wordpress.
Arriverete nell'area di amministrazione di Wordpress. L'installazione iniziale di Wordpress è ora completa.
Programma di installazione per eseguire Wordpress eseguendo il proxy del server PHP-FPM (non SSL)
Creare un file modello di configurazione di base a livello di root denominato caddy.conf
nella /etc/caddy/
directory che utilizza un'importazione per il file di configurazione vhost effettivo per un sito Web di prova Wordpress di esempio denominato example.com.conf
nella /etc/caddy/conf.d/
directory utilizzando il echo
comando.
sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com {\n\tredir https://www.example.com{url}\n}\nwww.example.com {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\trewrite {\n\t\tif {path} not_starts_with /wp-admin\n\t\tif {path} not_starts_with /wp-content\n\t\tif {path} not_starts_with /wp-includes\n\t\tto {path} {path}/ /index.php\n\t}\n\troot /var/www/html/\n\ttls [email protected]\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'
Installa il unzip
programma per estrarre il file tar-gzipped di Wordpress, ( latest.tar.gz
).
sudo apt install unzip
Scarica il latest.tar.gz
file nella /tmp/
directory, modifica le autorizzazioni utente e di gruppo della /var/www/html
directory per l'utente www-data
e il gruppo www-data
ed estrai il contenuto del latest.tar.gz
file nella /var/www/html/
directory.
sudo su - www-data -c "wget -N -P /tmp/ -q https://wordpress.org/latest.tar.gz" -s /bin/bash && sudo chown -R www-data.www-data /var/www/html && sudo su - www-data -c "tar -C /var/www/html/ -zxf /tmp/latest.tar.gz --strip-components=1" -s /bin/bash && sudo su - www-data -c "rm /tmp/latest.tar.gz" -s /bin/bash
Installa il server PHP-FPM per elaborare i file PHP e le estensioni PHP richieste per interagire con Wordpress.
sudo apt install php-curl php-fpm php-imagick php-mbstring php-mcrypt php-mysql php-pspell php-xmlrpc -y
Installa il server di database MariaDB per archiviare i dati per Wordpress.
sudo apt install mariadb-server -y
Facoltativo: disabilitare skip-name-resolve
per evitare la penalità di ricerca DNS per le connessioni client, disattivare il listener TCP / IP del database e utilizzare solo socket unix.
sudo sed -i '26iskip-name-resolve\nskip-networking' /etc/mysql/mariadb.conf.d/50-server.cnf
Riavviare il server di database MariaDB sulle nuove modifiche di configurazione.
sudo systemctl restart mysql
Proteggere il server di database MariaDB. Sostituisci il ********
supporto sottostante nel primo comando con una nuova password di root.
sudo mysql -e "UPDATE mysql.user SET Password=PASSWORD('********') WHERE User='root'" && sudo mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" && sudo mysql -e "DELETE FROM mysql.user WHERE User=''" && sudo mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'" && sudo mysql -e "" && sudo mysql -e "FLUSH PRIVILEGES"
Creare un database wordpress_example_com
, per Wordpress; un utente database specifico, wordpress_example_com_admin
e le autorizzazioni database minime necessarie ( ALTER
, CREATE
, DELETE
, DROP
, INDEX
, INSERT
, SELECT
, e UPDATE
) per il core e Wordpress plugin di giorno in giorno le installazioni funzionante e core / plugin di aggiornamenti. Sostituisci example_com
in wordpress_example_com
con il tuo vero nome di dominio, example_com
in wordpress_example_com_admin
con il tuo vero nome di dominio e ********
con una nuova password specifica per l' wordpress_example_com_admin
utente.
sudo mysql -e "CREATE DATABASE wordpress_example_com DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" && sudo mysql -e "CREATE USER 'wordpress_example_com_admin'@'localhost' IDENTIFIED BY '********'; GRANT USAGE ON *.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "GRANT ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE ON wordpress_example_com.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "FLUSH PRIVILEGES"
Crea il file di configurazione di Wordpress wp-config.php
, nella /var/www/html
directory. Sostituisci example_com
in wordpress_example_com
con il tuo vero nome di dominio, example_com
in wordpress_example_com_admin
con il tuo vero nome di dominio e ********
con una nuova password specifica per l' wordpress_example_com_admin
utente.
sudo su - www-data -c 'echo -e "<?php\ndefine('\'DB_CHARSET''\'', '\'utf8''\'');\ndefine('\'DB_COLLATE''\'', '\'''\'');\ndefine('\'DB_HOST''\'', '\'localhost''\'');\ndefine('\'DB_NAME''\'', '\'wordpress_example_com''\'');\ndefine('\'DB_PASSWORD''\'', '\'********''\'');\ndefine('\'DB_USER''\'', '\'wordpress_example_com_admin''\'');\ndefine('\'FS_METHOD''\'', '\'direct''\'');\ndefine('\'WP_DEBUG''\'', false);" > /var/www/html/wp-config.php' -s /bin/bash && sudo su -c www-data -c "curl -s https://api.wordpress.org/secret-key/1.1/salt/ >> /var/www/html/wp-config.php" && sudo su - www-data -c 'echo -e "\$table_prefix = '\'wp_''\'';\nif ( !defined('\'ABSPATH''\'') )\n\tdefine('\'ABSPATH''\'', dirname(__FILE__) . '\'/''\'');\nrequire_once(ABSPATH . '\'wp-settings.php''\'');\nfunction _remove_script_version( \$src ){ if ( strpos( \$src, '\'ver=''\'' ) ) \$src = remove_query_arg( '\'ver''\'', \$src ); return \$src; }\nadd_filter( '\'script_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );\nadd_filter( '\'style_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );" >> /var/www/html/wp-config.php' -s /bin/bash
Avviare il server Web Caddy.
sudo systemctl start caddy
Apri il tuo browser web sul nome di dominio completo ( example.com
) dell'istanza VPS. Dopo aver selezionato la lingua, fai clic sul Continue
pulsante blu , in basso a destra, per andare al passaggio successivo dell'installazione di Wordpress.
Nella pagina successiva, inserisci un titolo per il tuo sito Web nel Site Title
campo (1), un nome utente di amministratore nel Username
campo (2). Usa la password generata o inserisci la tua password nel Password
campo (3). Inserisci un indirizzo email valido nel Your Email
campo (4) e abilita o lascia disabilitata l' Search Engine Visibility
opzione (5), a seconda che il tuo sito sia in fase di costruzione. Quando sei soddisfatto, fai clic sul Install Wordpress
pulsante grigio (6) per completare l'installazione di Wordpress.
Arriverete nell'area di amministrazione di Wordpress. L'installazione iniziale di Wordpress è ora completa.