Instalējiet Caddy tīmekļa serveri no avota, lai nodrošinātu atbilstību licencei Ubuntu 16.04 LTS

2017. gada septembrī tika mainīts Caddy EULA, un visiem Caddy gadījumiem, ko pārvalda uzņēmumi un personīgās tīmekļa vietnes, kas veic tirdzniecību, ir nepieciešama Caddy lejupielādētā binārā komerciālā licence. Šī apmācība palīdz klientiem, kuri vēlas instalēt Caddy tīmekļa serveri saskaņā ar jauno EULA. Rakstīšanas laikā, kompilējot Caddy no avota un izveidojot savu bināro failu, maksas licence nav nepieciešama neatkarīgi no tā, vai esat uzņēmējs vai veicat komercdarbību savā personīgajā vietnē. Pirms šajā apmācībā norādīto darbību veikšanas ir svarīgi pārskatīt jaunāko EULA atbilstību.

Iespējas:

  • Īsa, viegli saprotama konfigurācija
  • Būvēts ar Go
  • Paplašināma mežizstrāde
  • Īpaši ātra statisko failu piegāde
  • Dinamisks vietņu un starpniekservera atbalsts
  • Iekšējās konfigurācijas pārbaudītājs
  • Statisks binārs
  • Pēc noklusējuma izmanto Mozilla ieteiktos mūsdienu šifrus
  • MITM (cilvēks vidū) noteikšana
  • SNI (servera nosaukuma indikatora) atbalsts
  • Automātiski Šifrēsim sertifikātu ģenerēšanu/izgūšanu/atjaunošanu
  • OCSP atbalsts
  • Virtuālo saimnieku atbalsts
  • Markdown2html renderēšanas atbalsts
  • Iebūvēts HTTP/2, QUIC un Websocket atbalsts
  • Slodzes līdzsvarošana, apgrieztā starpniekservera un SSL pārtraukšanas atbalsts

Priekšnoteikumi

Sistēmas atjaunināšana

Piesakieties kā parasts lietotājs, kuram ir atļauja izmantot komandu sudo. Atjauniniet sistēmu šādi.

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

Instalējiet Caddy no avota

Lejupielādējiet Caddy tīmekļa servera pirmkoda jaunāko izlaiduma versiju. Tas nesatur Caddy trešo pušu spraudņus.

go get -u github.com/mholt/caddy/caddy && go get -u github.com/caddyserver/builds && cd go/src/github.com/mholt/caddy/caddy

Neobligāti: ja jums ir nepieciešams trešās puses tls.dns.vultrdnsproviders spraudnis, kopējiet tālāk norādīto. tls.dns.vultrJa vēlaties to izmantot, tiks lejupielādēts gan Caddy pirmkods, gan trešās puses dnsproviders spraudnis.

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

Kompilējiet caddybināro failu. Tas aizņems mazāk nekā minūti, lai to apkopotu.

go run build.go

Pārbaudiet caddybinārā versijas un spraudņu sarakstu .

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

Kopēt Caddy bināro atrodas ~/go/src/github.com/mholt/caddy/caddy/uz /usr/bindirektoriju un mainīt direktoriju atpakaļ uz saknes Jūsu lietotāja direktorijā.

sudo cp caddy /usr/bin/ && cd

Izveidojiet caddy.servicesystemd failu /etc/systemd/system/direktorijā, izmantojot echokomandu.

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"

Izveidojiet /etc/caddy/direktoriju, kurā būs Caddy tīmekļa servera konfigurācijas fails; /etc/ssl/caddy/katalogs, kas satur arī pieņemsim Šifrēt sertifikātu; /usr/share/caddy/katalogs, kas satur parauga html failu; un /var/log/caddy/direktoriju, kurā būs Caddy tīmekļa servera žurnāli, izmantojot mkdirkomandu. Mainiet grupas īpašumtiesības uz www-datagrupu, izmantojot chownkomandu uz /etc/ssl/caddy/un /var/log/caddy/direktorijiem. Noņemiet pasaules izpildāmās, lasāmās un rakstāmās atļaujas, izmantojot chmodkomandu, lai nodrošinātu /etc/ssl/caddy/direktoriju.

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/

Iespējojiet Caddy tīmekļa serveri.

sudo systemctl daemon-reload && sudo systemctl enable caddy

Konfigurējiet Caddy tīmekļa serveri

Katrā turpmākajā sadaļā ir paskaidrots, kā konfigurēt Caddy dažādiem scenārijiem. Varat tos izmantot atsaucei un pāriet uz sadaļu, kas atbilst jūsu prasībām.

Iestatīt Caddy, lai rādītu statiskas HTML lapas (bez SSL)

Izveidot pamata, saknes līmeņa konfigurācija veidnes failu nosaukumu caddy.confuz /etc/caddy/direktoriju, kas izmanto ar importu par faktisko vhost konfigurācijas failu paraugu statiskā HTML mājas lapā nosaukts example.com.confšajā /etc/caddy/conf.d/direktorijā, izmantojot echokomandu.

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'

Izveidojiet /var/www/htmldirektoriju un izveidojiet vienkāršu index.htmliekšpusi, izmantojot echokomandu.

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'

Startējiet Caddy tīmekļa serveri.

sudo systemctl start caddy

Atveriet savu tīmekļa pārlūkprogrammu, lai piekļūtu example.comVPS instances FQDN ( ).

Iestatīt Caddy, lai parādītu statiskas HTML lapas (SSL)

Izveidot pamata, saknes līmeņa konfigurācija veidnes failu nosaukumu caddy.confšajā /etc/caddy/direktorijā, kurā izmantota importu par faktisko vhost konfigurācijas failu paraugu statiskā HTML mājas lapā nosaukts example.com.confšajā /etc/caddy/conf.d/direktorijā, izmantojot echokomandu.

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'

Izveidojiet /var/www/htmldirektoriju un izveidojiet vienkāršu index.htmliekšpusi, izmantojot echokomandu.

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'

Startējiet Caddy tīmekļa serveri.

sudo systemctl start caddy

Atveriet savu tīmekļa pārlūkprogrammu, lai piekļūtu example.comVPS instances FQDN ( ).

Iestatiet Caddy, lai apstrādātu PHP lapas, izmantojot starpniekserveri PHP-FPM serverim (bez SSL)

Izveidot pamata, saknes līmeņa konfigurācija veidnes failu nosaukumu caddy.confšajā /etc/caddy/direktorijā, kurā izmantota importu par faktisko vhost konfigurācijas failu paraugu phpinfo lapā nosaukts example.com.confšajā /etc/caddy/conf.d/direktorijā, izmantojot echokomandu.

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'

Izveidot vienkāršu index.phpšajā /var/www/htmldirektorijā, izmantojot echokomandu.

sudo su -c 'echo -e "<?php\nphpinfo();\n?>" > /var/www/html/index.php'

Instalējiet PHP-FPM serveri, lai apstrādātu PHP failus.

sudo apt install php-fpm -y

Startējiet Caddy tīmekļa serveri.

sudo systemctl start caddy

Atveriet savu tīmekļa pārlūkprogrammu, lai piekļūtu example.comVPS instances FQDN ( ).

Iestatiet Caddy, lai apstrādātu PHP lapas, izmantojot starpniekserveri PHP-FPM serveri (SSL)

Izveidot pamata, saknes līmeņa konfigurācija veidnes failu nosaukumu caddy.confšajā /etc/caddy/direktorijā, kurā izmantota importu par faktisko vhost konfigurācijas failu paraugu dinamiskā testa mājas lapā nosaukts example.com.confšajā /etc/caddy/conf.d/direktorijā, izmantojot echokomandu.

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'

Izveidot vienkāršu index.phpšajā /var/www/htmldirektorijā, izmantojot echokomandu.

sudo su -c 'echo -e "<?php\nphpinfo();\n?>" > /var/www/html/index.php'

Instalējiet PHP-FPM serveri, lai apstrādātu PHP failus.

sudo apt install php-fpm -y

Startējiet Caddy tīmekļa serveri.

sudo systemctl start caddy

Atveriet savu tīmekļa pārlūkprogrammu, lai piekļūtu example.comVPS instances FQDN ( ).

Iestatiet Caddy, lai palaistu Wordpress, izmantojot starpniekserveri PHP-FPM serverim (bez SSL)

Izveidot pamata, saknes līmeņa konfigurācija veidnes failu nosaukumu caddy.confšajā /etc/caddy/direktorijā, kurā izmantota importu par faktisko vhost konfigurācijas failu paraugu Wordpress testa mājas lapā nosaukts example.com.confšajā /etc/caddy/conf.d/direktorijā, izmantojot echokomandu.

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'

Instalējiet unzipprogrammu, lai izvilktu Wordpress tar-gzip failu ( latest.tar.gz).

sudo apt install unzip

Lejupielādējiet latest.tar.gzfailu /tmp/direktorijā, mainiet direktorija lietotāja un grupas atļaujas /var/www/htmluz lietotāju www-dataun grupu www-dataun izvelciet latest.tar.gzfaila saturu /var/www/html/direktorijā.

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

Instalējiet PHP-FPM serveri, lai apstrādātu PHP failus un nepieciešamos PHP paplašinājumus, kas nepieciešami mijiedarbībai ar Wordpress.

sudo apt install php-curl php-fpm php-imagick php-mbstring php-mcrypt php-mysql php-pspell php-xmlrpc -y

Instalējiet MariaDB datu bāzes serveri, lai saglabātu datus programmai Wordpress.

sudo apt install mariadb-server -y

Neobligāti: atspējojiet, skip-name-resolvelai izvairītos no DNS uzmeklēšanas soda par klientu savienojumiem, izslēdziet datu bāzes TCP/IPklausītāju un izmantojiet tikai unix ligzdas.

sudo sed -i '26iskip-name-resolve\nskip-networking' /etc/mysql/mariadb.conf.d/50-server.cnf

Restartējiet MariaDB datu bāzes serveri, lai veiktu jaunās konfigurācijas izmaiņas.

sudo systemctl restart mysql

Nodrošiniet MariaDB datu bāzes serveri. Nomainiet ********zemāk esošo turētāju pirmajā komandā ar jaunu root paroli.

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"

Izveidot datubāzi, wordpress_example_com, Wordpress; konkrēts datu bāzes lietotājs wordpress_example_com_adminun minimālās datu bāzes atļaujas, kas nepieciešamas ( ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, & UPDATE), Wordpress pamata un spraudņu instalāciju ikdienas darbībai un pamata/spraudņu atjauninājumiem. Nomainiet example_comin wordpress_example_comar savu faktisko domēna nosaukumu, example_comkas wordpress_example_com_adminar savu faktisko domēna nosaukumu, un ********ar jauno paroli speciāli wordpress_example_com_adminlietotājam.

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"

Izveidot WordPress konfigurācijas failu, wp-config.phpjo to /var/www/htmldirektorijā. Nomainiet example_comin wordpress_example_comar savu faktisko domēna nosaukumu, example_comkas wordpress_example_com_adminar savu faktisko domēna nosaukumu, un ********ar jauno paroli speciāli wordpress_example_com_adminlietotājam.

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

Startējiet Caddy tīmekļa serveri.

sudo systemctl start caddy

Atveriet savu tīmekļa pārlūkprogrammu, lai piekļūtu example.comVPS instances FQDN ( ). Jūs redzēsit valodas izvēles lapu. Pēc valodas izvēles noklikšķiniet uz zilās Continuepogas apakšējā labajā stūrī, lai pārietu uz nākamo Wordpress instalēšanas darbību.

Nākamajā lapā ievadiet savas vietnes nosaukumu Site Titlelaukā (1), bet Usernamelaukā (2) - administratora lietotājvārdu . Izmantojiet ģenerēto paroli vai ievadiet savu paroli Passwordlaukā (3). Ievadiet derīgu e-pasta adresi Your Emaillaukā (4) un iespējojiet vai atstājiet atspējotu Search Engine Visibilityopciju (5), atkarībā no tā, vai jūsu vietne atrodas izveides fāzē. Kad esat apmierināts, noklikšķiniet uz pelēkās Install Wordpresspogas (6), lai pabeigtu Wordpress iestatīšanu.

Jūs nonāksiet Wordpress administrācijas zonā. Sākotnējā Wordpress instalēšana tagad ir pabeigta.

Iestatiet Caddy, lai palaistu Wordpress, izmantojot starpniekserveri PHP-FPM serverim (bez SSL)

Izveidot pamata, saknes līmeņa konfigurācija veidnes failu nosaukumu caddy.confšajā /etc/caddy/direktorijā, kurā izmantota importu par faktisko vhost konfigurācijas failu paraugu Wordpress testa mājas lapā nosaukts example.com.confšajā /etc/caddy/conf.d/direktorijā, izmantojot echokomandu.

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'

Instalējiet unzipprogrammu, lai izvilktu Wordpress tar-gzip failu ( latest.tar.gz).

sudo apt install unzip

Lejupielādējiet latest.tar.gzfailu /tmp/direktorijā, mainiet direktorija lietotāja un grupas atļaujas /var/www/htmluz lietotāju www-dataun grupu www-dataun izvelciet latest.tar.gzfaila saturu /var/www/html/direktorijā.

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

Install the PHP-FPM server to process PHP files and the required PHP extensions required to interact with Wordpress.

sudo apt install php-curl php-fpm php-imagick php-mbstring php-mcrypt php-mysql php-pspell php-xmlrpc -y

Install the MariaDB database server to store data for Wordpress.

sudo apt install mariadb-server -y

Optional: Disable skip-name-resolve to avoid the DNS lookup penalty for client connections, turn off the database TCP/IP listener and use unix sockets only.

sudo sed -i '26iskip-name-resolve\nskip-networking' /etc/mysql/mariadb.conf.d/50-server.cnf

Restart the MariaDB database server to the new configuration changes.

sudo systemctl restart mysql

Secure the MariaDB database server. Replace the ******** holder below in the first command with a new root password.

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"

Create a database, wordpress_example_com, for Wordpress; a specific database user, wordpress_example_com_admin and the minimal database permissions necessary (ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, & UPDATE )for Wordpress core and plugin installations' day to day functioning and core/plugin updates. Replace the example_com in wordpress_example_com with your actual domain name, example_com in wordpress_example_com_admin with your actual domain name and ******** with a new password specifically for the wordpress_example_com_admin user.

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"

Create the Wordpress configuration file, wp-config.php, in the /var/www/html directory. Replace the example_com in wordpress_example_com with your actual domain name, example_com in wordpress_example_com_admin with your actual domain name and ******** with a new password specifically for the wordpress_example_com_admin user.

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

Start the Caddy web server.

sudo systemctl start caddy

Open your web browser to the FQDN (example.com) of your VPS instance. After selecting the language, click the blue Continue button, on the bottom right, to go to the next step of the Wordpress installation.

On the next page, enter a title for your website in the Site Title field (1), an administrator's username in the Username field (2). Use the generated password or input your own password in the Password field (3). Enter a valid email address in the Your Email field (4) and enable or leave disabled the Search Engine Visibility option (5), depending on whether your site is in the building phase. When you are satisfied, click the gray Install Wordpress button (6) to complete the Wordpress setup.

You will arrive in the Wordpress administration area. The initial installation of Wordpress is now complete.


Instalējiet Plesk operētājsistēmā CentOS 7

Instalējiet Plesk operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Plesk ir patentēts tīmekļa mitinātāja vadības panelis, kas ļauj lietotājiem administrēt savas personīgās un/vai klientu vietnes, datu bāzes

Iestatiet Cacti vietnē Debian Jessie

Iestatiet Cacti vietnē Debian Jessie

Ievads Cacti ir atvērtā koda uzraudzības un grafiku veidošanas rīks, kas pilnībā ir balstīts uz RRD datiem. Izmantojot Cacti, varat pārraudzīt gandrīz jebkura veida ierīces

Instalējiet Lets Encrypt SSL WordPress lietotnē ar vienu klikšķi

Instalējiet Lets Encrypt SSL WordPress lietotnē ar vienu klikšķi

Ievads Lets Encrypt ir sertifikācijas iestādes pakalpojums, kas piedāvā bezmaksas TLS/SSL sertifikātus. Instalēšanas procesu vienkāršo Certbot,

Kā iestatīt Tekkit Classic serveri Ubuntu 16.10

Kā iestatīt Tekkit Classic serveri Ubuntu 16.10

Vai izmantojat citu sistēmu? Kas ir Tekkit Classic? Tekkit Classic ir modifikācija spēlei, kuru visi zina un mīl; Minecraft. Tajā ir daži no ver

Iestatiet iRedMail vietnē Debian Wheezy

Iestatiet iRedMail vietnē Debian Wheezy

Vai izmantojat citu sistēmu? Šī apmācība parādīs, kā instalēt grupas programmu iRedMail jaunā Debian Wheezy instalācijā. Jums vajadzētu izmantot servi

Jekyll emuāra izveide Ubuntu 16.04

Jekyll emuāra izveide Ubuntu 16.04

Vai izmantojat citu sistēmu? Jekyll ir lieliska alternatīva WordPress emuāru rakstīšanai vai satura kopīgošanai. Tam nav nepieciešamas nekādas datu bāzes, un tas ir ļoti vienkārši

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Vai izmantojat citu sistēmu? Ja iegādājaties Debian serveri, jums vienmēr ir jābūt jaunākajiem drošības ielāpiem un atjauninājumiem neatkarīgi no tā, vai jūs guļat vai ne.

Kā instalēt un konfigurēt PHP 7.0 vai PHP 7.1 Ubuntu 16.04

Kā instalēt un konfigurēt PHP 7.0 vai PHP 7.1 Ubuntu 16.04

PHP un saistītās pakotnes ir visbiežāk izmantotie komponenti, izvietojot tīmekļa serveri. Šajā rakstā mēs uzzināsim, kā iestatīt PHP 7.0 vai PHP 7.1 o

Kā instalēt Squid starpniekserveri CentOS

Kā instalēt Squid starpniekserveri CentOS

Squid ir populāra bezmaksas Linux programma, kas ļauj izveidot pāradresācijas tīmekļa starpniekserveri. Šajā rokasgrāmatā jūs redzēsit, kā instalēt Squid uz CentOS, lai jūs pārvērstu

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Ievads Lighttpd ir Apache dakša, kuras mērķis ir daudz mazāk resursietilpīgs. Tas ir viegls, tāpēc arī tā nosaukums ir diezgan vienkārši lietojams. Instalēšana

Trīs bezmaksas servera vadības paneļi (ātrā instalēšana)

Trīs bezmaksas servera vadības paneļi (ātrā instalēšana)

1. Virtualmin/Webmin Virtualmin ir jaudīgs un elastīgs tīmekļa mitināšanas vadības panelis Linux un UNIX sistēmām, pamatojoties uz labi zināmo atvērtā pirmkoda tīmekļa bāzi

Yii lietojumprogrammas iestatīšana Ubuntu 14.04

Yii lietojumprogrammas iestatīšana Ubuntu 14.04

Yii ir PHP ietvars, kas ļauj ātrāk un vienkāršāk izstrādāt lietojumprogrammas. Yii instalēšana Ubuntu ir vienkārša, jo jūs to uzzināsit precīzi

Ekrāna izmantošana Ubuntu 14.04

Ekrāna izmantošana Ubuntu 14.04

Ekrāns ir lietojumprogramma, kas ļauj vairākkārt izmantot termināļa sesijas vienā logā. Tas ļauj simulēt vairākus termināļa logus, kur tas ma

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Šajā apmācībā ir paskaidrots, kā iestatīt DNS serveri, izmantojot Bind9 uz Debian vai Ubuntu. Visā rakstā attiecīgi aizstājiet savu-domēna-nosaukums.com. plkst

Logrotate izmantošana žurnālfailu pārvaldībai

Logrotate izmantošana žurnālfailu pārvaldībai

Ievads Logrotate ir Linux utilīta, kas vienkāršo žurnālfailu administrēšanu. Tas parasti darbojas reizi dienā, izmantojot cron uzdevumu, un pārvalda žurnālu bāzi

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 ir spēcīga uzraudzības sistēma, un, ja to izmanto galvenā klienta modelī, tā var aizstāt vajadzību pēc NRPE balstītām uzraudzības pārbaudēm. Meistars-klients

Iestatiet Red5 Media Server operētājsistēmā Ubuntu 16.04

Iestatiet Red5 Media Server operētājsistēmā Ubuntu 16.04

Vai izmantojat citu sistēmu? Red5 ir atvērtā pirmkoda multivides serveris, kas ieviests Java un ļauj palaist Flash vairāku lietotāju lietojumprogrammas, piemēram, tiešraides straumēšanu.

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Šajā rakstā mēs redzēsim, kā apkopot un instalēt Nginx galveno līniju no oficiālajiem Nginx avotiem ar PageSpeed ​​moduli, kas ļauj t

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā Ubuntu 16.04 LTS

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā Ubuntu 16.04 LTS

Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk