وب سرور Caddy را از Source برای سازگاری مجوز در Ubuntu 16.04 LTS نصب کنید

در سپتامبر سال 2017 ، Caddy EULA تغییر یافت و کلیه نمونه های Caddy توسط مشاغل و وب سایت های شخصی که تجارت را اداره می کنند ، نیاز به مجوز تجاری برای دودویی بارگیری شده Caddy دارند. این آموزش به مشتریانی که می خواهند سرور وب کدی را مطابق با EULA جدید نصب کنند ، کمک می کند. در زمان نوشتن ، هنگام تهیه Caddy از منبع و ایجاد دودویی شخصی ، مجوز پرداختی لازم نیست که شما یک شغل هستید یا در وب سایت شخصی خود تجارت انجام می دهید. مهم است که قبل از طی مراحل این آموزش ، آخرین EULA را برای انطباق بررسی کنید.

امکانات:

  • پیکربندی کوتاه و به راحتی قابل فهم است
  • ساخته شده با Go
  • ورود به سیستم گسترده
  • تحویل فایل استاتیک بسیار سریع
  • سایت پویا و پشتیبانی از پروکسی
  • جستجوگر پیکربندی داخلی
  • باینری استاتیک
  • به طور پیش فرض از رمزهای مدرن پیشنهادی موزیلا استفاده می کند
  • MITM (مرد در وسط) تشخیص
  • پشتیبانی SNI (نشانگر نام سرور)
  • بطور خودکار تولید گواهینامه تولید / بازیابی / تجدید رمزگذاری
  • پشتیبانی OCSP
  • میزبان های مجازی پشتیبانی می کنند
  • پشتیبانی از رکورد Markdown2html
  • ساخته شده در HTTP / 2 ، QUIC و پشتیبانی از وب
  • تعادل بار ، پروکسی معکوس و پشتیبانی خاتمه SSL

پیش نیازها

به روزرسانی سیستم

به عنوان یک کاربر معمولی که مجوز استفاده از دستور sudo را دارد وارد شوید. سیستم را به شرح زیر به روز کنید.

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

Caddy From Source را نصب کنید

آخرین نسخه انتشار کد منبع سرور وب Caddy را بارگیری کنید. این شامل هیچ افزونه شخص ثالث برای Caddy نیست.

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

اختیاری: اگر به tls.dns.vultrافزونه dnsproviders شخص ثالث نیاز دارید ، موارد زیر را کپی کنید. در tls.dns.vultrصورت تمایل به استفاده از آن ، افزونه dnsproviders شخص ثالث را دریافت خواهید کرد.

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

caddyباینری را کامپایل کنید . برای تدوین کمتر از یک دقیقه زمان لازم است.

go run build.go

نسخه و لیست افزونه های caddyباینری را بررسی کنید.

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

کپی باینری سبد خرید واقع در ~/go/src/github.com/mholt/caddy/caddy/به /usr/binدایرکتوری و تغییر دایرکتوری تماس به ریشه دایرکتوری کاربر خود را.

sudo cp caddy /usr/bin/ && cd

ایجاد caddy.serviceفایل از systemd در /etc/systemd/system/دایرکتوری با استفاده از echoفرمان.

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"

/etc/caddy/دایرکتوری ایجاد کنید ، که حاوی پرونده پیکربندی سرور وب Caddy باشد. /etc/ssl/caddy/دایرکتوری، که حاوی گواهی رمزگذاری بیایید خواهد؛ /usr/share/caddy/دایرکتوری که فایل HTML نمونه را شامل خواهد شد. و /var/log/caddy/دایرکتوری، که حاوی خواهد سبد خرید وب سرور سیاهههای مربوط، با استفاده از mkdirفرمان. تغییر مالکیت گروه به www-dataگروه با استفاده از chownدستور به /etc/ssl/caddy/و /var/log/caddy/دایرکتوری ها. مجوزهای اجرایی ، قابل خواندن و نوشتاری جهان را با استفاده از chmodدستور برای تأمین امنیت /etc/ssl/caddy/فهرست راهنما حذف کنید.

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/

سرور وب Caddy را فعال کنید.

sudo systemctl daemon-reload && sudo systemctl enable caddy

پیکربندی سرور وب Caddy

هر بخش زیر نحوه پیکربندی Caddy برای سناریوهای مختلف را توضیح می دهد. شما می توانید از این موارد برای مرجع استفاده کنید و به بخشی بروید که پاسخگوی نیاز شما باشد.

راه اندازی Caddy برای نمایش صفحات HTML استاتیک (غیر SSL)

درست، سطح ریشه فایل اصلی قالب پیکربندی نام caddy.confدر /etc/caddy/دایرکتوری، که با استفاده از واردات برای فایل پیکربندی vhost واقعی برای یک وب سایت نمونه ثابت HTML به نام example.com.confدر /etc/caddy/conf.d/دایرکتوری با استفاده از echoفرمان.

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'

ایجاد /var/www/htmlدایرکتوری و ایجاد یک ساده index.htmlدر داخل با استفاده از echoفرمان.

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'

وب سرور Caddy را شروع کنید.

sudo systemctl start caddy

مرورگر وب خود را به example.comعنوان مثال VPS برای FQDN ( ) باز کنید.

راه اندازی Caddy برای نمایش صفحات HTML استاتیک (SSL)

درست، سطح ریشه فایل اصلی قالب پیکربندی نام caddy.confدر /etc/caddy/دایرکتوری که با استفاده از واردات برای فایل پیکربندی vhost واقعی برای یک وب سایت نمونه ثابت HTML به نام example.com.confدر /etc/caddy/conf.d/دایرکتوری با استفاده از echoفرمان.

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'

ایجاد /var/www/htmlدایرکتوری و ایجاد یک ساده index.htmlدر داخل با استفاده از echoفرمان.

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'

وب سرور Caddy را شروع کنید.

sudo systemctl start caddy

مرورگر وب خود را به example.comعنوان مثال VPS برای FQDN ( ) باز کنید.

راه اندازی Caddy برای پردازش صفحات PHP با پراکسی سرور PHP-FPM (غیر SSL)

یک فایل قالب پیکربندی اولیه ، سطح ریشه را caddy.confدر /etc/caddy/فهرست قرار دهید که از یک واردات برای فایل پیکربندی واقعی vhost برای یک نمونه صفحه PHPInfo که example.com.confدر /etc/caddy/conf.d/فهرست با استفاده از echoدستور استفاده می شود ، ایجاد کنید .

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'

با استفاده از دستور ، ساده ای را index.phpدر /var/www/htmlدایرکتوری ایجاد کنید echo.

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

سرور PHP-FPM را برای پردازش فایل های PHP نصب کنید.

sudo apt install php-fpm -y

وب سرور Caddy را شروع کنید.

sudo systemctl start caddy

مرورگر وب خود را به example.comعنوان مثال VPS برای FQDN ( ) باز کنید.

راه اندازی Caddy برای پردازش صفحات PHP با پراکسی سرور PHP-FPM (SSL)

یک فایل الگوی پیکربندی اولیه ، سطح ریشه ایجاد کنید که caddy.confدر /etc/caddy/فهرست قرار دارد که از یک واردات برای فایل پیکربندی واقعی vhost برای یک وب سایت تست پویا به نام با استفاده از دستور example.com.confدر /etc/caddy/conf.d/فهرست استفاده می کند echo.

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'

با استفاده از دستور ، ساده ای را index.phpدر /var/www/htmlدایرکتوری ایجاد کنید echo.

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

سرور PHP-FPM را برای پردازش فایل های PHP نصب کنید.

sudo apt install php-fpm -y

وب سرور Caddy را شروع کنید.

sudo systemctl start caddy

مرورگر وب خود را به example.comعنوان مثال VPS برای FQDN ( ) باز کنید.

راه اندازی Caddy برای اجرای وردپرس با Proxying سرور PHP-FPM (غیر SSL)

درست، سطح ریشه فایل اصلی قالب پیکربندی نام caddy.confدر /etc/caddy/دایرکتوری که با استفاده از واردات برای فایل پیکربندی vhost واقعی برای یک وب سایت آزمون وردپرس نمونه نام example.com.confدر /etc/caddy/conf.d/دایرکتوری با استفاده از echoفرمان.

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'

unzipبه منظور استخراج پرونده tar-gzipped وردپرس ( latest.tar.gz) برنامه را نصب کنید .

sudo apt install unzip

latest.tar.gzپرونده را در /tmp/دایرکتوری بارگیری کنید ، مجوزهای کاربری و گروهی /var/www/htmlدایرکتوری را به کاربر www-dataو گروه تغییر داده www-dataو محتویات latest.tar.gzپرونده را در /var/www/html/دایرکتوری استخراج کنید.

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

سرور PHP-FPM را برای پردازش پرونده های PHP و پسوندهای PHP مورد نیاز برای تعامل با وردپرس نصب کنید.

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

برای ذخیره داده ها برای وردپرس ، سرور پایگاه داده MariaDB را نصب کنید.

sudo apt install mariadb-server -y

اختیاری: غیر فعال کردن skip-name-resolveبرای جلوگیری از مجازات DNS مراجعه برای اتصالات کلاینت، خاموش کردن پایگاه داده TCP/IPشنونده و استفاده از تنها سوکت یونیکس.

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

راه اندازی مجدد سرور پایگاه داده MariaDB به تغییرات تنظیمات جدید.

sudo systemctl restart mysql

سرور پایگاه داده MariaDB را ایمن کنید. ********نگهدارنده زیر را در دستور اول با یک رمزعبور 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"

ایجاد یک بانک اطلاعاتی wordpress_example_com، برای وردپرس؛ یک کاربر پایگاه داده های خاص، wordpress_example_com_adminو حداقل مجوز پایگاه داده لازم، ( ALTER، CREATE، DELETE، DROP، INDEX، INSERT، SELECT، و UPDATE)، برای هسته وردپرس و روز تاسیسات پلاگین به روز عملکرد و هسته ای / پلاگین به روز رسانی. به جای example_comدر wordpress_example_comبا نام دامنه واقعی خود، example_comدر wordpress_example_com_adminبا نام دامنه واقعی خود و ********با یک رمز عبور جدید به طور خاص برای wordpress_example_com_adminکاربران.

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"

پرونده تنظیمات وردپرس را wp-config.phpدر /var/www/htmlفهرست ایجاد کنید. به جای example_comدر wordpress_example_comبا نام دامنه واقعی خود، example_comدر wordpress_example_com_adminبا نام دامنه واقعی خود و ********با یک رمز عبور جدید به طور خاص برای wordpress_example_com_adminکاربران.

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

وب سرور Caddy را شروع کنید.

sudo systemctl start caddy

مرورگر وب خود را به example.comعنوان مثال VPS برای FQDN ( ) باز کنید. صفحه انتخاب زبان را مشاهده خواهید کرد. پس از انتخاب زبان ، روی Continueدکمه آبی ، در پایین سمت راست ، کلیک کنید تا به مرحله بعدی نصب وردپرس بروید.

در صفحه بعد ، عنوانی را برای وب سایت خود در قسمت Site Title(1) ، نام کاربری یک مدیر در قسمت Username(2) وارد کنید. از رمز عبور تولید شده استفاده کرده یا رمز عبور خود را در قسمت Password(3) وارد کنید. آدرس ایمیل معتبری را در قسمت Your Email(4) وارد کنید و Search Engine Visibilityبسته به اینکه سایت شما در مرحله ساختمان است ، گزینه (5) را غیرفعال یا غیرفعال کنید. وقتی راضی هستید ، روی Install Wordpressدکمه خاکستری (6) کلیک کنید تا تنظیمات وردپرس تکمیل شود.

وارد منطقه مدیریت وردپرس خواهید شد. نصب اولیه Wordpress اکنون کامل است.

راه اندازی Caddy برای اجرای وردپرس با Proxying سرور PHP-FPM (غیر SSL)

درست، سطح ریشه فایل اصلی قالب پیکربندی نام caddy.confدر /etc/caddy/دایرکتوری که با استفاده از واردات برای فایل پیکربندی vhost واقعی برای یک وب سایت آزمون وردپرس نمونه نام example.com.confدر /etc/caddy/conf.d/دایرکتوری با استفاده از echoفرمان.

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'

unzipبه منظور استخراج پرونده tar-gzipped وردپرس ، برنامه را نصب کنید ( latest.tar.gz).

sudo apt install unzip

latest.tar.gzپرونده را در /tmp/دایرکتوری بارگیری کنید ، مجوزهای کاربری و گروهی /var/www/htmlدایرکتوری را به کاربر www-dataو گروه تغییر داده www-dataو محتویات latest.tar.gzپرونده را در /var/www/html/دایرکتوری استخراج کنید.

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

سرور PHP-FPM را برای پردازش پرونده های PHP و پسوندهای PHP مورد نیاز برای تعامل با وردپرس نصب کنید.

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

برای ذخیره داده ها برای وردپرس ، سرور پایگاه داده MariaDB را نصب کنید.

sudo apt install mariadb-server -y

اختیاری: غیر فعال کردن skip-name-resolveبرای جلوگیری از مجازات DNS مراجعه برای اتصالات کلاینت، خاموش کردن پایگاه داده TCP / IP شنونده و استفاده از تنها سوکت یونیکس.

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

راه اندازی مجدد سرور پایگاه داده MariaDB به تغییرات تنظیمات جدید.

sudo systemctl restart mysql

سرور پایگاه داده MariaDB را ایمن کنید. ********نگهدارنده زیر را در دستور اول با یک رمزعبور 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"

ایجاد یک بانک اطلاعاتی wordpress_example_com، برای وردپرس؛ یک کاربر پایگاه داده های خاص، wordpress_example_com_adminو مجوزهای حداقل پایگاه داده لازم ( ALTER، CREATE، DELETE، DROP، INDEX، INSERT، SELECT، و UPDATE) برای هسته وردپرس و پلاگین روز تاسیسات به روز عملکرد و هسته ای / پلاگین به روز رسانی. به جای example_comدر wordpress_example_comبا نام دامنه واقعی خود، example_comدر wordpress_example_com_adminبا نام دامنه واقعی خود و ********با یک رمز عبور جدید به طور خاص برای wordpress_example_com_adminکاربران.

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"

پرونده تنظیمات وردپرس را wp-config.phpدر /var/www/htmlفهرست ایجاد کنید. به جای example_comدر wordpress_example_comبا نام دامنه واقعی خود، example_comدر wordpress_example_com_adminبا نام دامنه واقعی خود و ********با یک رمز عبور جدید به طور خاص برای wordpress_example_com_adminکاربران.

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

وب سرور Caddy را شروع کنید.

sudo systemctl start caddy

مرورگر وب خود را به example.comعنوان مثال VPS برای FQDN ( ) باز کنید. پس از انتخاب زبان ، روی Continueدکمه آبی ، در پایین سمت راست ، کلیک کنید تا به مرحله بعدی نصب وردپرس بروید.

در صفحه بعد ، عنوانی را برای وب سایت خود در قسمت Site Title(1) ، نام کاربری یک مدیر در قسمت Username(2) وارد کنید. از رمز عبور تولید شده استفاده کرده یا رمز عبور خود را در قسمت Password(3) وارد کنید. آدرس ایمیل معتبری را در قسمت Your Email(4) وارد کنید و Search Engine Visibilityبسته به اینکه سایت شما در مرحله ساختمان است ، گزینه (5) را غیرفعال یا غیرفعال کنید. وقتی راضی هستید ، روی Install Wordpressدکمه خاکستری (6) کلیک کنید تا تنظیمات وردپرس تکمیل شود.

وارد منطقه مدیریت وردپرس خواهید شد. نصب اولیه Wordpress اکنون کامل است.



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد