Инсталирайте Lets Encrypt SSL в приложението WordPress с едно щракване
Въведение Lets Encrypt е услуга на сертифициращ орган, която предлага безплатни TLS/SSL сертификати. Процесът на инсталиране е опростен от Certbot,
Ruby on Rails е популярна уеб рамка за Ruby, която е разработена за повишаване на производителността на програмиста. Въпреки това, да накарате различни скъпоценни камъни и зависимости да работят заедно, понякога може да бъде трудно. Това ръководство ще ви помогне да настроите напълно готова за производство среда на Rails, включително често използвани скъпоценни камъни и зависимости.
Забележка : Силно препоръчително е да не инсталирате нито една от тези услуги като root, тъй като може да се изложите на атака. Настройването на deploy
или app
потребител е обичайна конвенция:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
Уверете се, че използвате всички най-нови пакети на вашата Ubuntu VM:
sudo apt-get update && sudo apt-get upgrade -y
За да можете да компилирате Ruby с помощта на rbenv и други скъпоценни камъни, трябва да бъдат инсталирани различни пакети. В зависимост от версията на Ruby, от която се нуждаете, някои от пакетите може да не са необходими.
sudo apt-get install -y curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev
sudo apt-get install -y libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev
sudo apt-get install -y python-software-properties libffi-dev
sudo apt-get install -y build-essential openssl libreadline6 libreadline6-dev libreadline-dev
sudo apt-get install -y automake libtool bison pkg-config bison autoconf libc6-dev ncurses-dev
sudo apt-get install -y libapr1-dev libaprutil1-dev libx11-dev libffi-dev tcl-dev tk-dev
Те са необходими за компилиране на няколко скъпоценни камъни, като Passenger:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
Общността Ruby използва Git като SCM по избор; но могат да бъдат инсталирани и допълнителни, като Mercurial или Subversion:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
Изисква се за няколко популярни скъпоценни камъни, които се нуждаят от собствени XML библиотеки:
sudo apt-get install -y libxml2-dev libxslt-dev
Добавете официални хранилища от Node с най-новата версия като хранилищата на Ubuntu по подразбиране са склонни да изостават от няколко основни версии:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Тези пакети не са необходими за работата на системата, но е добре да имате, ако трябва да използвате определени скъпоценни камъни.
Тези библиотеки не са необходими и могат да бъдат пропуснати, освен ако не планирате да използвате скъпоценни камъни за манипулиране на изображения; като Rmagick:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
Инсталирайте драйвери за SQLite или PostgreSQL, ако трябва да се свържете с други бази данни или предпочитате проста, локална DB:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
Помощни програми, които обикновено не са предварително инсталирани при нова инсталация на Ubuntu. Чувствайте се свободни да инсталирате своя текстов редактор по избор:
sudo apt-get install -y iotop htop nano vim
MariaDB е мощен релационен SQL сървър, който е напълно съвместим с MySQL. Най-лесният начин да инсталирате най-новата версия на MariaDB е да използвате официални хранилища:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.utexas.edu/mariadb/repo/10.2/ubuntu zesty main'
sudo apt update
sudo apt install -y mariadb-server
Следвайте подканите и задайте root парола. След това проверете дали имате достъп до новата си инсталация:
mysql -V
Той ще покаже ред, подобен на този:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
Влезте в обвивката на MySQL:
mysql -h localhost -u root -p
Забележка : използвайте \q
за излизане.
Инсталирайте Rbenv с помощта на git. Това е най-простият метод за инсталиране и позволява лесни актуализации по-късно. Също така install ruby-build
, той е отговорен за действителното компилиране на различни версии на Ruby:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Забележка : Когато трябва да актуализирате просто cd ~/.rbenv
и git pull
.
Направете Rbenv и Ruby-build налични в обвивката. За да сте сигурни, че редовете за експортиране се вмъкват в началото на .bashrc
файла, което е важно за неинтерактивни bash команди, използвайте тези редове:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.temp_bashrc
echo 'eval "$(rbenv init -)"' >> ~/.temp_bashrc
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.temp_bashrc
cat ~/.temp_bashrc ~/.bashrc > ~/.combined_bashrc && mv ~/.combined_bashrc ~/.bashrc && rm ~/.temp_bashrc
exec $SHELL
Проверете дали Rbenv и Ruby-build са инсталирани и са налични в shell:
rbenv install --list
Ако rbenv
не е разпознат, излезте и влезте отново в shell.
Създайте ~/.bash_profile
файл и го насочете към източника на вашия ~/.bashrc
файл. Ако трябва да изпълнявате каквито и да е неинтерактивни команди на обвивката от вашето приложение Rails, като например задания на cron, настроени от whenever
gem, то ще използва същата версия на Ruby като вашата интерактивна обвивка. Това може да помогне за предотвратяване на странни грешки. Добавете този ред към ~/.bash_profile
файла:
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
Инсталирайте Ruby 2.4.1:
rbenv install 2.4.1
Забележка : Този процес може да отнеме 5-15 минути в зависимост от ресурсите на вашата виртуална машина и няма лента за напредък.
Направете Rbenv достъпен навсякъде.
rbenv global 2.4.1
Добавете PGP ключа и HTTPS поддръжка за apt:
sudo apt-get install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
Добавете хранилището на Passenger:
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger zesty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
Инсталирайте модулите Passenger + Nginx:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
Посетете вашия екземпляр на Vultr, като използвате името на домейна или IP, за да ги тествате в този момент. Ако те работят, вашата страница ще покаже приветствената страница по подразбиране на Nginx.
Инсталирайте Bundler и Rails:
gem install bundler rails --no-ri --no-rdoc
Конвенцията на Ubuntu/Debian е да настроите приложението си в /var/www
. По подразбиране може да се записва само от root. За да работи настройката, дайте собственост на потребителя sudo deploy
:
sudo chown deploy:deploy /var/www -R
Генерирайте приложението rails в /var/www/
. Ако вече имате приложение, което искате да разгърнете, git clone
то тук и след това стартирайте bundle
:
cd /var/www
rails new example --database=mysql
Подгответе Nginx.
sudo nano /etc/nginx/nginx.conf
Променете потребителя на deploy
.
user deploy;
В http
секцията на конфигурацията трябва да има ред, който казва на Nginx да зареди модули, включително пасажер. Ако липсва, можете да го добавите веднага след Virtual Host Configs
заглавието, но преди sites-enabled
.
include /etc/nginx/conf.d/*.conf;
Редактирайте/създайте passenger.conf
файла.
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
Кажете на Passenger да използва нашата настройка на Rbenv. Може да съдържа ред, сочещ към версията на Ruby, включена в Passenger, просто я изтрийте или коментирайте.
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
Настройте виртуален хост да сочи към приложението в /var/www/example/
.
sudo nano /etc/nginx/sites-enabled/example.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example/public;
passenger_enabled on;
# When you are ready to switch to production mode - change this to `production`
passenger_app_env development; # <-- !important
}
Рестартирайте Nginx.
sudo service nginx restart
В този момент вашето приложение е готово за използване в режим на разработка. За да преминете към производствен режим, трябва да се върнете към конфигурацията на Nginx и да промените rails_env
настройката на production
.
Преди да преминете в режим на производство, все пак ще трябва да настроите вашата продукция на базата данни example_production
, database.yml
и таен ключ. Вижте инструмент като Capistrano или Mina, за да ускорите процеса на внедряване на приложението си. Добра практика е да използвате ENV променливи със скъпоценен камък като dotenv
, и да не предавате вашите пароли, секретни ключове и други във вашето git хранилище.
Има множество услуги, предлагащи SSL сертификати за вашия домейн, много от тях са платени, а няколко са безплатни. Настройте SSL, без значение каква услуга използвате. Let's Encrypt е много лесен и безплатен за използване. Let's Encrypt е организация с нестопанска цел, подкрепена от много технологични гиганти.
Изпълнете следните команди и следвайте подканите.
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
sudo certbot --nginx
sudo certbot renew --dry-run
Ако сега отидете на вашия екземпляр на Vultr, като използвате HTTPS
, ще видите защитен уебсайт.
Вашето новоиздадено удостоверение изтича и ще трябва периодично да се подновява. Най-лесният начин да направите това е да настроите работа на cron.
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
Като последна, но незадължителна стъпка, рестартирайте вашата виртуална машина и се уверете, че всички услуги се рестартират според очакванията.
Въведение Lets Encrypt е услуга на сертифициращ орган, която предлага безплатни TLS/SSL сертификати. Процесът на инсталиране е опростен от Certbot,
Използване на различна система? Ако закупите сървър на Debian, винаги трябва да имате най-новите корекции за сигурност и актуализации, независимо дали спите или не
PHP и свързаните с него пакети са най-често използваните компоненти при разгръщане на уеб сървър. В тази статия ще научим как да настроим PHP 7.0 или PHP 7.1 o
Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне
Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте
1. Virtualmin/Webmin Virtualmin е мощен и гъвкав контролен панел за уеб хостинг за Linux и UNIX системи, базиран на добре познатата уеб база с отворен код
Yii е PHP рамка, която ви позволява да разработвате приложения по-бързо и лесно. Инсталирането на Yii в Ubuntu е лесно, както ще научите точно l
Този урок обяснява как да настроите DNS сървър с помощта на Bind9 на Debian или Ubuntu. В цялата статия заменете your-domain-name.com съответно. При th
Въведение Logrotate е помощна програма за Linux, която опростява администрирането на лог файлове. Обикновено се изпълнява веднъж на ден чрез cron задание и управлява базата от регистрационни файлове
Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент
Използване на различна система? Red5 е медиен сървър с отворен код, внедрен в Java, който ви позволява да стартирате Flash многопотребителски приложения, като например предаване на живо
В тази статия ще видим как да компилирате и инсталирате основната линия на Nginx от официалните източници на Nginx с модула PageSpeed, който ви позволява да
Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока
Използване на различна система? Vanilla forum е приложение за форум с отворен код, написано на PHP. Той е напълно адаптивен, лесен за използване и поддържа външен
Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира
Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира
Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от Git. Gitea е написана на Голанг и е
Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от git. Gitea е написана на Голанг и е
Въведение Lynis е безплатен инструмент за одит на системата с отворен код, който се използва от много системни администратори за проверка на целостта и заздравяване на техните системи. аз
Използване на различна система? Thelia е инструмент с отворен код за създаване на уебсайтове за е-бизнес и управление на онлайн съдържание, написано на PHP. Изходен код на Thelia i
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече