Pasang Pelayan Web Caddy Dari Sumber untuk Pematuhan Lesen di Ubuntu 16.04 LTS

Pada bulan September 2017, Caddy EULA telah diubah dan semua kejadian Caddy dijalankan oleh perniagaan dan laman web peribadi yang menjalankan perdagangan memerlukan lesen komersial kepada binari yang dimuat turun Caddy. Tutorial ini membantu pelanggan yang ingin memasang pelayan web Caddy mematuhi EULA baru. Pada masa penulisan, ketika menyusun Caddy dari sumber dan membuat binari anda sendiri, lesen berbayar tidak diperlukan sama ada anda perniagaan atau menjalankan perdagangan di laman web peribadi anda. Penting untuk mengkaji pematuhan EULA terkini sebelum mengikuti langkah-langkah dalam tutorial ini.

Ciri-ciri:

  • Konfigurasi yang pendek dan mudah difahami
  • Dibina dengan Go
  • Pembalakan yang boleh diperluaskan
  • Penghantaran fail statik yang sangat pantas
  • Laman web dinamik & sokongan proksi
  • Pemeriksa konfigurasi dalaman
  • Perduaan statik
  • Menggunakan cipher moden yang disyorkan oleh Mozilla secara lalai
  • Pengesanan MITM (lelaki di tengah)
  • Sokongan SNI (penunjuk nama pelayan)
  • Penjanaan / pengambilan / pembaharuan sijil Let's Encrypt automatik
  • Sokongan OCSP
  • Sokongan hos maya
  • Sokongan renddown Markdown2html
  • Sokongan HTTP / 2, QUIC & Websocket terbina dalam
  • Beban pengimbangan, proksi terbalik & penamatan SSL

Prasyarat

Kemas kini sistem

Log masuk sebagai pengguna biasa yang mempunyai kebenaran untuk menggunakan perintah sudo. Kemas kini sistem seperti berikut.

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

Pasang Caddy Dari Sumber

Muat turun versi kod sumber pelayan web Caddy versi terbaru. Ini tidak mengandungi pemalam pihak ketiga untuk Caddy.

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

Pilihan: Sekiranya anda memerlukan tls.dns.vultrpemalam dnsproviders pihak ketiga, salin yang berikut. Ini akan memuat turun kedua-dua kod sumber Caddy dan tls.dns.vultrpemalam dnsproviders pihak ketiga jika anda ingin menggunakannya.

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

Menyusun caddyperduaan. Proses penyusunan ini akan memakan masa kurang dari satu minit.

go run build.go

Periksa versi dan senarai pemalam caddyperduaan.

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

Salin binari Caddy yang terletak di ~/go/src/github.com/mholt/caddy/caddy/sebelah /usr/bindirektori dan menukar kembali direktori ke akar direktori pengguna anda.

sudo cp caddy /usr/bin/ && cd

Buat caddy.servicefail systemd dalam /etc/systemd/system/direktori menggunakan echoperintah.

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"

Buat /etc/caddy/direktori, yang akan mengandungi fail konfigurasi pelayan web Caddy; yang /etc/ssl/caddy/direktori, yang akan mengandungi sijil Encrypt Mari; yang /usr/share/caddy/direktori, yang akan mengandungi sampel fail html; dan /var/log/caddy/direktori, yang akan mengandungi log pelayan web Caddy, menggunakan mkdirperintah. Tukar pemilikan kumpulan ke www-datakumpulan menggunakan chownarahan ke /etc/ssl/caddy/dan /var/log/caddy/direktori. Keluarkan izin yang dapat dilaksanakan, dibaca dan boleh ditulis oleh dunia, menggunakan chmodperintah untuk mengamankan /etc/ssl/caddy/direktori.

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/

Aktifkan pelayan web Caddy.

sudo systemctl daemon-reload && sudo systemctl enable caddy

Konfigurasikan Pelayan Web Caddy

Setiap bahagian di bawah menerangkan cara mengkonfigurasi Caddy untuk senario yang berbeza. Anda boleh menggunakannya untuk rujukan dan melangkau ke bahagian yang memenuhi keperluan anda.

Siapkan Caddy Untuk Memaparkan Halaman HTML Statik (Bukan SSL)

Buat fail templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori, yang menggunakan import untuk file konfigurasi vhost yang sebenarnya untuk contoh laman web HTML statik yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.

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'

Buat /var/www/htmldirektori dan buat bahagian index.htmldalam yang mudah menggunakan echoperintah.

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'

Mulakan pelayan web Caddy.

sudo systemctl start caddy

Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda.

Siapkan Caddy Untuk Memaparkan Halaman HTML Statik (SSL)

Buat fail templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori yang menggunakan import untuk fail konfigurasi vhost sebenar untuk contoh laman web HTML statik yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.

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 joe.q.public@example.com\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'

Buat /var/www/htmldirektori dan buat bahagian index.htmldalam yang mudah menggunakan echoperintah.

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'

Mulakan pelayan web Caddy.

sudo systemctl start caddy

Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda.

Siapkan Caddy Untuk Memproses Halaman PHP Dengan Mengenali Pelayan PHP-FPM (Bukan SSL)

Buat fail templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori yang menggunakan import untuk fail konfigurasi vhost sebenar untuk contoh halaman PHPInfo yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.

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'

Buat yang mudah index.phpdi dalam /var/www/htmldirektori menggunakan echoperintah.

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

Pasang pelayan PHP-FPM untuk memproses fail PHP.

sudo apt install php-fpm -y

Mulakan pelayan web Caddy.

sudo systemctl start caddy

Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda.

Siapkan Caddy Untuk Memproses Halaman PHP Dengan Mengenali Pelayan PHP-FPM (SSL)

Buat fail templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori yang menggunakan import untuk fail konfigurasi vhost sebenar untuk contoh laman web ujian dinamik yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.

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 joe.q.public@example.com\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'

Buat yang mudah index.phpdi dalam /var/www/htmldirektori menggunakan echoperintah.

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

Pasang pelayan PHP-FPM untuk memproses fail PHP.

sudo apt install php-fpm -y

Mulakan pelayan web Caddy.

sudo systemctl start caddy

Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda.

Siapkan Caddy Untuk Menjalankan Wordpress Dengan Melayan Pelayan PHP-FPM (Bukan SSL)

Buat file templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori yang menggunakan import untuk fail konfigurasi vhost yang sebenarnya untuk contoh laman web ujian Wordpress yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.

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'

Pasang unzipprogram untuk mengekstrak fail tar-gzipped Wordpress ( latest.tar.gz).

sudo apt install unzip

Muat turun latest.tar.gzfail ke dalam /tmp/direktori, ubah izin pengguna dan kumpulan /var/www/htmldirektori ke pengguna www-datadan kumpulan www-datadan ekstrak kandungan latest.tar.gzfail ke dalam /var/www/html/direktori.

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

Pasang pelayan PHP-FPM untuk memproses fail PHP dan sambungan PHP yang diperlukan yang diperlukan untuk berinteraksi dengan Wordpress.

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

Pasang pelayan pangkalan data MariaDB untuk menyimpan data untuk Wordpress.

sudo apt install mariadb-server -y

Pilihan: Lumpuhkan skip-name-resolveuntuk mengelakkan hukuman pencarian DNS untuk sambungan pelanggan, matikan TCP/IPpendengar pangkalan data dan gunakan soket unix sahaja.

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

Mulakan semula pelayan pangkalan data MariaDB ke perubahan konfigurasi baru.

sudo systemctl restart mysql

Selamat pelayan pangkalan data MariaDB. Ganti ********pemegang di bawah pada arahan pertama dengan kata laluan root baru.

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"

Buat pangkalan data wordpress_example_com, untuk Wordpress; pengguna pangkalan data tertentu, wordpress_example_com_admindan keizinan pangkalan data yang minimum perlu, ( ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, & UPDATE), untuk Wordpress teras dan hari pemasangan plugin 'untuk hari berfungsi dan teras / plugin kemas kini. Menggantikan example_comdalam wordpress_example_comdengan nama domain sebenar anda, example_comdalam wordpress_example_com_admindengan nama domain sebenar anda dan ********dengan kata laluan baru khusus untuk wordpress_example_com_adminpengguna.

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"

Buat fail konfigurasi Wordpress wp-config.php, dalam /var/www/htmldirektori. Menggantikan example_comdalam wordpress_example_comdengan nama domain sebenar anda, example_comdalam wordpress_example_com_admindengan nama domain sebenar anda dan ********dengan kata laluan baru khusus untuk wordpress_example_com_adminpengguna.

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

Mulakan pelayan web Caddy.

sudo systemctl start caddy

Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda. Anda akan melihat halaman pemilihan bahasa. Setelah memilih bahasa, klik Continuebutang biru , di kanan bawah, untuk pergi ke langkah seterusnya pemasangan Wordpress.

Pada halaman berikutnya, masukkan judul untuk laman web anda di Site Titlebidang (1), nama pengguna pentadbir di Usernamebidang (2). Gunakan kata laluan yang dihasilkan atau masukkan kata laluan anda sendiri di Passwordlapangan (3). Masukkan alamat e-mel yang sah di Your Emaillapangan (4) dan aktifkan atau tinggalkan Search Engine Visibilitypilihan (5), bergantung pada sama ada laman web anda dalam fasa pembinaan. Apabila anda berpuas hati, klik Install Wordpressbutang kelabu (6) untuk menyelesaikan persediaan Wordpress.

Anda akan tiba di kawasan pentadbiran Wordpress. Pemasangan awal Wordpress kini selesai.

Siapkan Caddy Untuk Menjalankan Wordpress Dengan Melayan Pelayan PHP-FPM (Bukan SSL)

Buat file templat konfigurasi peringkat dasar yang dinamakan caddy.confdalam /etc/caddy/direktori yang menggunakan import untuk fail konfigurasi vhost yang sebenarnya untuk contoh laman web ujian Wordpress yang dinamakan example.com.confdalam /etc/caddy/conf.d/direktori menggunakan echoperintah.

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 joe.q.public@example.com\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'

Pasang unzipprogram untuk mengekstrak fail tar-gzipped Wordpress, ( latest.tar.gz).

sudo apt install unzip

Muat turun latest.tar.gzfail ke dalam /tmp/direktori, ubah izin pengguna dan kumpulan /var/www/htmldirektori ke pengguna www-datadan kumpulan www-datadan ekstrak kandungan latest.tar.gzfail ke dalam /var/www/html/direktori.

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

Pasang pelayan PHP-FPM untuk memproses fail PHP dan sambungan PHP yang diperlukan yang diperlukan untuk berinteraksi dengan Wordpress.

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

Pasang pelayan pangkalan data MariaDB untuk menyimpan data untuk Wordpress.

sudo apt install mariadb-server -y

Pilihan: Lumpuhkan skip-name-resolveuntuk mengelakkan hukuman pencarian DNS untuk sambungan pelanggan, matikan pendengar TCP / IP pangkalan data dan gunakan soket unix sahaja.

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

Mulakan semula pelayan pangkalan data MariaDB ke perubahan konfigurasi baru.

sudo systemctl restart mysql

Selamat pelayan pangkalan data MariaDB. Ganti ********pemegang di bawah pada arahan pertama dengan kata laluan root baru.

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"

Buat pangkalan data wordpress_example_com, untuk Wordpress; pengguna pangkalan data tertentu, wordpress_example_com_admindan keizinan pangkalan data yang minimum yang diperlukan ( ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, & UPDATE) untuk Wordpress teras dan plugin hari pemasangan 'untuk hari berfungsi dan teras / plugin kemas kini. Menggantikan example_comdalam wordpress_example_comdengan nama domain sebenar anda, example_comdalam wordpress_example_com_admindengan nama domain sebenar anda dan ********dengan kata laluan baru khusus untuk wordpress_example_com_adminpengguna.

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"

Buat fail konfigurasi Wordpress wp-config.php, dalam /var/www/htmldirektori. Menggantikan example_comdalam wordpress_example_comdengan nama domain sebenar anda, example_comdalam wordpress_example_com_admindengan nama domain sebenar anda dan ********dengan kata laluan baru khusus untuk wordpress_example_com_adminpengguna.

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

Mulakan pelayan web Caddy.

sudo systemctl start caddy

Buka penyemak imbas web anda ke FQDN ( example.com) instance VPS anda. Setelah memilih bahasa, klik Continuebutang biru , di kanan bawah, untuk pergi ke langkah seterusnya pemasangan Wordpress.

Pada halaman berikutnya, masukkan judul untuk laman web anda di Site Titlebidang (1), nama pengguna pentadbir di Usernamebidang (2). Gunakan kata laluan yang dihasilkan atau masukkan kata laluan anda sendiri di Passwordlapangan (3). Masukkan alamat e-mel yang sah di Your Emaillapangan (4) dan aktifkan atau tinggalkan Search Engine Visibilitypilihan (5), bergantung pada sama ada laman web anda dalam fasa pembinaan. Apabila anda berpuas hati, klik Install Wordpressbutang kelabu (6) untuk menyelesaikan persediaan Wordpress.

Anda akan tiba di kawasan pentadbiran Wordpress. Pemasangan awal Wordpress kini selesai.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut