Встановіть Plesk на CentOS 7
Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних
Ruby on Rails — це популярний веб-фреймворк для Ruby, який був розроблений для підвищення продуктивності програміста. Однак змусити різноманітні дорогоцінні камені та залежності працювати разом іноді може бути складно. Цей посібник допоможе вам налаштувати повністю готове до виробництва середовище Rails, включаючи часто використовувані gems та залежності.
Примітка . Настійно не рекомендується встановлювати жодну з цих служб як root, оскільки ви можете піддати себе атаці. Налаштування deploy
або app
користувача є загальною умовою:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
Переконайтеся, що на своїй VM Ubuntu запущено всі останні пакунки:
sudo apt-get update && sudo apt-get upgrade -y
Для того, щоб мати можливість компілювати Ruby за допомогою rbenv та інших gems , необхідно встановити різні пакунки. Залежно від версії 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, якщо вам потрібно підключитися до інших баз даних або віддати перевагу простій локальній БД:
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
файлу, що важливо для не інтерактивні команд Баша, використовуйте наступні рядки:
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 і чи доступні в оболонкі:
rbenv install --list
Якщо rbenv
не розпізнається, вийдіть із системи та знову увійдіть в оболонку.
Створіть ~/.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
Як останній, але необов’язковий крок, перезавантажте віртуальну машину та переконайтеся, що всі служби перезапущено, як очікувалося.
Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних
Вступ Lets Encrypt — це служба центру сертифікації, яка пропонує безкоштовні сертифікати TLS/SSL. Certbot спрощує процес встановлення,
Використання іншої системи? Що таке Tekkit Classic? Tekkit Classic — це модпак для гри, яку всі знають і люблять; Майнкрафт. Він містить деякі з вер
PHP та пов’язані з ним пакети є найбільш часто використовуваними компонентами під час розгортання веб-сервера. У цій статті ми дізнаємося, як налаштувати PHP 7.0 або PHP 7.1 o
Вступ Lighttpd — це форк Apache, який має набагато меншу ресурсомісткість. Він легкий, звідси його назва, і досить простий у використанні. Встановити
1. Virtualmin/Webmin Virtualmin — це потужна та гнучка панель керування веб-хостингом для систем Linux та UNIX на основі відомої веб-бази з відкритим вихідним кодом.
Yii — це PHP-фреймворк, який дозволяє розробляти програми швидше та легше. Установка Yii на Ubuntu проста, як ви дізнаєтеся
Screen — це програма, яка дозволяє багаторазово використовувати термінальні сеанси в одному вікні. Це дозволяє моделювати декілька вікон терміналу, де це ma
Вступ Logrotate — це утиліта для Linux, яка спрощує адміністрування файлів журналів. Зазвичай він запускається раз на день через завдання cron і керує базою журналів
Використання іншої системи? Apache Cassandra — це безкоштовна система керування базами даних NoSQL з відкритим вихідним кодом, яка розроблена для забезпечення масштабованості, високої
Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд
Використання іншої системи? Вступ Kanboard — це безкоштовна програма з відкритим вихідним кодом для управління проектами, яка призначена для полегшення та візуалізації
Використання іншої системи? Gitea — це альтернативна система контролю версій із відкритим вихідним кодом, яка працює на базі git. Gitea написана на Голанг і є
Використання іншої системи? Docker — це програма, яка дозволяє розгортати програми, які запускаються як контейнери. Це було написано в популярному програмі Go
Що таке Dirty Cow (CVE-2016-5195)? Уразливість Dirty Cow використовується через те, як Linux обробляє код. Це дозволяє непривілейованому користувачеві використовувати gai
Наявність лише одного користувача, який є root, може бути небезпечним. Тож давайте це виправимо. Vultr надає нам свободу робити з нашими користувачами та нашими серверами, що нам заманеться
Adminer — це легка альтернатива phpMyAdmin. Для порівняння, його загальний розмір пакета становить 400 КБ проти 4,2 МБ phpMyAdmin. На відміну від phpMyAdmin, який
У цьому посібнику ви дізнаєтеся, як налаштувати автентифікацію HTTP для веб-сервера Nginx, що працює на CentOS 7. Вимоги Щоб почати, вам знадобиться
У цьому посібнику ви навчитеся інсталювати програмне забезпечення NextCloud. Ми будемо використовувати Caddy для потреб нашого веб-сервера, оскільки це спрощує налаштування
Використання іншої системи? GoAccess — це аналізатор веб-журналів з відкритим вихідним кодом. Ви можете використовувати його для аналізу журналів у режимі реального часу в терміналі або
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.
Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.
Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.
Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…
Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.
Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.
Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.
У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.
Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше