Installa Caddy Web Server dalla fonte per la conformità della licenza su Ubuntu 16.04 LTS

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.vultrplug -in dnsproviders di terze parti, copiare quanto segue. Questo scaricherà sia il codice sorgente Caddy che il tls.dns.vultrplug -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 caddybinario. La compilazione richiederà meno di un minuto.

go run build.go

Controlla la versione e l'elenco dei plug-in del file caddybinario.

./caddy -version && ./caddy -plugins

Copiare il file binario Caddy si trova nella ~/go/src/github.com/mholt/caddy/caddy/alla /usr/bindirectory e cambiare la parte posteriore directory principale della vostra directory utente.

sudo cp caddy /usr/bin/ && cd

Creare il caddy.servicefile systemd nella /etc/systemd/system/directory usando il echocomando

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 mkdircomando Modificare la proprietà del www-datagruppo nel gruppo usando il chowncomando nelle directory /etc/ssl/caddy/e /var/log/caddy/. Rimuovere le autorizzazioni eseguibili, leggibili e scrivibili del mondo, usando il chmodcomando 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

Configurare il Caddy Web Server

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.confnella /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.confnella /etc/caddy/conf.d/directory utilizzando il echocomando.

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/htmldirectory e crea un semplice index.htmlinterno usando il echocomando.

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.confnella /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.confnella /etc/caddy/conf.d/directory utilizzando il echocomando.

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/htmldirectory e crea un semplice index.htmlinterno usando il echocomando.

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.confnella /etc/caddy/directory che utilizza un'importazione per il file di configurazione vhost effettivo per una pagina PHPInfo di esempio denominata example.com.confnella /etc/caddy/conf.d/directory utilizzando il echocomando.

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.phpnella /var/www/htmldirectory usando il echocomando

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.confnella /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.confnella /etc/caddy/conf.d/directory utilizzando il echocomando.

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.phpnella /var/www/htmldirectory usando il echocomando

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.confnella /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.confnella /etc/caddy/conf.d/directory utilizzando il echocomando.

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 unzipprogramma per estrarre il file tar-gzipped di Wordpress ( latest.tar.gz).

sudo apt install unzip

Scarica il latest.tar.gzfile nella /tmp/directory, modifica le autorizzazioni utente e di gruppo della /var/www/htmldirectory per l'utente www-datae il gruppo www-dataed estrai il contenuto del latest.tar.gzfile 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-resolveper evitare la penalità di ricerca DNS per le connessioni client, disattivare il TCP/IPlistener 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_admine 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_comin wordpress_example_comcon il tuo vero nome di dominio, example_comin wordpress_example_com_admincon il tuo vero nome di dominio e ********con una nuova password specifica per l' wordpress_example_com_adminutente.

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/htmldirectory. Sostituisci example_comin wordpress_example_comcon il tuo vero nome di dominio, example_comin wordpress_example_com_admincon il tuo vero nome di dominio e ********con una nuova password specifica per l' wordpress_example_com_adminutente.

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 Continuepulsante 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 Titlecampo (1), un nome utente di amministratore nel Usernamecampo (2). Usa la password generata o inserisci la tua password nel Passwordcampo (3). Inserisci un indirizzo email valido nel Your Emailcampo (4) e abilita o lascia disabilitata l' Search Engine Visibilityopzione (5), a seconda che il tuo sito sia in fase di costruzione. Quando sei soddisfatto, fai clic sul Install Wordpresspulsante 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.confnella /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.confnella /etc/caddy/conf.d/directory utilizzando il echocomando.

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 unzipprogramma per estrarre il file tar-gzipped di Wordpress, ( latest.tar.gz).

sudo apt install unzip

Scarica il latest.tar.gzfile nella /tmp/directory, modifica le autorizzazioni utente e di gruppo della /var/www/htmldirectory per l'utente www-datae il gruppo www-dataed estrai il contenuto del latest.tar.gzfile 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-resolveper 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_admine 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_comin wordpress_example_comcon il tuo vero nome di dominio, example_comin wordpress_example_com_admincon il tuo vero nome di dominio e ********con una nuova password specifica per l' wordpress_example_com_adminutente.

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/htmldirectory. Sostituisci example_comin wordpress_example_comcon il tuo vero nome di dominio, example_comin wordpress_example_com_admincon il tuo vero nome di dominio e ********con una nuova password specifica per l' wordpress_example_com_adminutente.

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 Continuepulsante 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 Titlecampo (1), un nome utente di amministratore nel Usernamecampo (2). Usa la password generata o inserisci la tua password nel Passwordcampo (3). Inserisci un indirizzo email valido nel Your Emailcampo (4) e abilita o lascia disabilitata l' Search Engine Visibilityopzione (5), a seconda che il tuo sito sia in fase di costruzione. Quando sei soddisfatto, fai clic sul Install Wordpresspulsante grigio (6) per completare l'installazione di Wordpress.

Arriverete nell'area di amministrazione di Wordpress. L'installazione iniziale di Wordpress è ora completa.



Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.