Встановіть Plesk на CentOS 7
Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних
Wekan — це канбан-дошка, створена з фреймворком Meteor JavaScript. Він вважається альтернативою Trello з відкритим вихідним кодом і самостійно розміщеною, що забезпечує майже ті ж функції. Це дозволяє створювати списки керування справами на основі карток. Wekan дуже допомагає підвищити продуктивність під час роботи в середовищі співпраці. Wekan має повністю адаптивний веб-інтерфейс, і його активно перекладають багатьма мовами.
У цьому підручнику ми будемо використовувати wekan.example.com
як доменне ім’я, спрямоване на екземпляр Vultr. Будь ласка, не забудьте замінити всі входження прикладу доменного імені на фактичне.
Оновіть свою базову систему за допомогою посібника Як оновити CentOS 7 . Після оновлення системи перейдіть до встановлення залежностей.
Wekan підтримує лише Node.js LTS version 4.8
. Щоб встановити Node.js, ми будемо використовувати менеджер версій вузла. Встановіть nvm
, запустивши скрипт інсталятора.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
Щоб негайно почати використовувати nvm
, запустіть це.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Якщо nvm
встановлено успішно, ви зможете перевірити його версію.
[user@vultr ~]$ nvm --version
0.33.4
Встановіть Node.js.
nvm install v4.8
Встановіть версію Node.js за замовчуванням.
nvm use node
Якщо Node.js встановлено успішно, ви зможете перевірити його версію.
node -v
Ви побачите цей вихід.
[user@vultr ~]$ node -v
v4.8.4
NVM встановлює Node.js лише для поточного користувача. Щоб Node.js був доступним у всьому світі, запустіть це.
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr
Node.js тепер доступний як /bin/node
.
[user@vultr ~]$ sudo which node
/bin/node
MongoDB — це безкоштовний сервер баз даних NoSQL з відкритим вихідним кодом. На відміну від традиційних баз даних, які використовують таблиці для організації своїх даних, MongoDB орієнтована на документи і використовує документи, подібні до JSON, без схем. Wekan використовує MongoDB для зберігання своїх даних.
Wekan сумісний лише з MongoDB version 3.2
. MongoDB недоступний у YUM
сховищі за замовчуванням , тому вам потрібно буде створити новий файл репозиторію.
sudo nano /etc/yum.repos.d/mongodb-org-3.2.repo
Заповніть файл таким вмістом.
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Встановіть MongoDB.
sudo yum install -y mongodb-org
Запустіть сервер MongoDB та ввімкніть його автоматичний запуск.
sudo systemctl start mongod
sudo systemctl enable mongod
За замовчуванням на сервері MongoDB не ввімкнено аутентифікацію. Будь-який користувач, який має доступ до терміналу сервера, матиме повні привілеї щодо встановлення MongoDB. Щоб захистити сервер бази даних і обмежити доступ непривілейованого користувача, нам потрібно налаштувати аутентифікацію на сервері.
MongoDB надає mongo
оболонку, яка використовується для виконання запитів до MongoDB. Перейдіть до mongo
оболонки, ввівши.
mongo
Створіть нового користувача MongoDB з правами root. Ви можете використовувати будь-яке ім’я користувача на ваш вибір. Будь ласка, не забудьте замінити пароль .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Ви повинні побачити наступний вихід.
[user@vultr ~]$ mongo
MongoDB shell version: 3.2.17
connecting to: test
Welcome to the MongoDB shell.
...
2017-09-29T20:42:29.042+0000 I CONTROL [initandlisten]
> db.createUser(
... {
... user: "admin",
... pwd: "StrongAdminPassword",
... roles: [ { role: "root", db: "admin" } ]
... }
... )
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
Вийдіть із командного інтерфейсу MongoDB до терміналу Linux, натиснувши « Ctrl+C
«.
Відредагуйте файл конфігурації MongoDB.
sudo nano /etc/mongod.conf
Додайте наступний рядок у кінці файлу.
security:
authorization: enabled
Перезапустіть MongoDB, щоб зміни конфігурації вступили в силу.
sudo systemctl restart mongod
Тепер, коли безпека ввімкнено, ви можете перевірити, чи вона працює, знову переключившись на оболонку mongo за допомогою mongo
команди. Цього разу, якщо ви запустите запит, наприклад, show dbs
щоб показати список баз даних, ви побачите повідомлення про помилку авторизації. sudo
Знову перейдіть до користувача після перевірки входу як нового користувача, якого ви щойно створили.
Увійдіть як administrator
тільки що створений користувач.
mongo -u admin -p
Введіть пароль користувача для успішного входу. Створіть нового користувача для Wekan
бази даних, яка буде використовуватися для зберігання даних Wekan.
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
Не забудьте змінити StrongPassword
пароль на надійний пароль. Ви побачите наступний висновок.
[user@vultr ~]$ mongo -u admin -p
MongoDB shell version: 3.2.17
Enter password:
connecting to: test
...
2017-09-29T20:52:32.450+0000 I CONTROL [initandlisten]
>
> use wekan
switched to db wekan
> db.createUser(
... {
... user: "wekan",
... pwd: "StrongPassword",
... roles: ["readWrite"]
... }
... )
Successfully added user: { "user" : "wekan", "roles" : [ "readWrite" ] }
Check for the latest link to the Wekan release on Github as new releases are very frequent. Download the latest version of Wekan from Github replacing the link to the installer package.
cd ~
wget https://github.com/wekan/wekan/releases/download/v0.41/wekan-0.41.tar.gz
Extract the downloaded archive into a new directory named wekan
.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
Install Bzip2
, which is required to extract the Node.js dependencies.
sudo yum -y install bzip2
Install the Node.js dependencies.
cd wekan/bundle/programs/server && npm install
The Wekan server reads configurations from the environment variables. Run the following commands to set the configurations as environment variables.
export MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://wekan.example.com'
export MAIL_URL='smtp://user:[email protected]:25/'
export MAIL_FROM='[email protected]'
export PORT=4000
Make sure to replace the MongoDB password for the wekan
user you have created. Also, update the mail URL according to your SMTP server settings. If you do not have mail server ready, you can always change this configuration later. Open the firewall to allow port 4000
through the firewall.
sudo firewall-cmd --zone=public --add-port=4000/tcp --permanent
sudo firewall-cmd --reload
To immediately start the application.
cd ~/wekan/bundle
node main.js
You can now access the application by going to http://wekan.example.com:4000
. You will see the interface to log-in to the Wekan kanban board.
For production use, it is recommended to set up a reverse proxy to serve the application on the standard HTTP
port and a systemd
service to manage the application process. In this tutorial, we will use the Nginx web server as a reverse proxy, secured with a Let's Encrypt free SSL.
Install the Nginx web server and Certbot, which is the client application for Let's Encrypt CA.
sudo yum -y install certbot nginx
Before you can request the SSL certificates, you will need to allow port 80
and 443
through the firewall. Certbot will check the domain authority before issuing certificates.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
Now that we are running Wekan on a standard HTTPS
port, we do not need to allow port 4000
through the firewall. Adjust the firewall to remove port 4000
.
sudo firewall-cmd --zone=public --remove-port=4000/tcp --permanent
sudo firewall-cmd --reload
Note: The domain name which you are using to obtain the certificates from the Let's Encrypt CA must be pointed towards the server. The client verifies the domain authority before issuing the certificates.
Generate the SSL certificates.
sudo certbot certonly --standalone -d wekan.example.com
Згенеровані сертифікати, ймовірно, будуть збережені в /etc/letsencrypt/live/wekan.example.com/
каталозі. Сертифікат SSL буде збережено як fullchain.pem
, а закритий ключ – як privkey.pem
.
Термін дії сертифікатів Let's Encrypt закінчується через 90 днів, тому рекомендується налаштувати автоматичне оновлення сертифікатів за допомогою Cronjob. Cron — це системна служба, яка використовується для виконання періодичних завдань.
Відкрийте файл завдання cron.
sudo crontab -e
Додайте наступний рядок у кінці файлу.
30 5 * * * /usr/bin/certbot renew --quiet
Вищезазначене завдання cron виконуватиметься щодня о 5:30 ранку. Якщо термін дії сертифікатів закінчився, він автоматично поновить їх.
Створіть новий віртуальний хост.
sudo nano /etc/nginx/conf.d/wekan.example.com.conf
Заповніть файл наступним.
upstream wekan {
server 127.0.0.1:4000;
}
server {
listen 80;
listen [::]:80;
server_name wekan.example.com;
location / {
if ($ssl_protocol = "") {
rewrite ^ https://$server_name$request_uri? permanent;
}
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name wekan.example.com;
add_header Strict-Transport-Security "max-age=15768000";
ssl_certificate /etc/letsencrypt/live/wekan.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wekan.example.com/privkey.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
error_page 497 https://$host:$server_port$request_uri;
location / {
proxy_pass http://wekan;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_send_timeout 86400;
proxy_read_timeout 86400;
}
}
Замініть wekan.example.com
своє фактичне доменне ім’я у наведеній вище конфігурації.
Перезапустіть Nginx, щоб зміни вступили в силу.
sudo systemctl restart nginx
Увімкніть автоматичний запуск Nginx під час завантаження.
sudo systemctl enable nginx
Створіть нового користувача для процесу.
sudo adduser wekan -s /usr/sbin/nologin -d /opt/wekan
Тепер перемістіть всі файли в /opt/wekan
каталог.
sudo mv ~/wekan/* /opt/wekan/
Надайте право власності на файли новоствореному користувачеві.
sudo chown -R wekan:wekan /opt/wekan
Wekan не бере дані з жодного файлу конфігурації. Замість цього він отримує до нього доступ із змінних середовища. Ми створимо новий файл для зберігання змінних середовища. Файл, що містить змінні середовища, буде переданий через Systemd
службу.
Створіть новий файл для зберігання змінних середовища.
sudo nano /opt/wekan/config.env
Заповніть файл таким вмістом.
MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.example.com'
MAIL_URL='smtp://user:[email protected]:25/'
MAIL_FROM='[email protected]'
PORT=4000
HTTP_FORWARDED_COUNT=1
Будь ласка, не забудьте замінити username
та password
.
Надати право власності wekan
користувачеві.
sudo chown -R wekan:wekan /opt/wekan/config.env
Створіть новий файл служби для служби Wekan systemd.
sudo nano /etc/systemd/system/wekan.service
Заповніть файл наступним.
[Unit]
Description=Wekan Server
After=syslog.target
After=network.target
[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/bin/node /opt/wekan/bundle/main.js
EnvironmentFile=/opt/wekan/config.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/opt/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan
[Install]
WantedBy=multi-user.target
Збережіть файл і вийдіть з редактора. Тепер ви можете легко запустити Wekan.
sudo systemctl start wekan
Щоб увімкнути автоматичний запуск Wekan під час завантаження.
sudo systemctl enable wekan
Щоб перевірити статус служби Wekan.
sudo systemctl status wekan
Тепер ви можете отримати доступ до екземпляра Wekan на https://wekan.example.com
. Почніть зі створення нового облікового запису. Після створення облікового запису ви можете ввімкнути адміністративний доступ для щойно створеного користувача. Увійдіть до оболонки MongoDB як користувач адміністратора.
mongo -u wekan -p --authenticationDatabase "wekan"
Тепер виберіть wekan
базу даних та оновіть об’єкт, щоб підвищити користувача до користувача адміністратора.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
Будь ласка, не забудьте замінити admin_user
фактичним ім’ям користувача створеного вами користувача. В інтерфейсі адміністратора ви зможете відключити самореєстрацію та оновити налаштування SMTP.
Вітаємо, ви успішно встановили плату Wekan Kanban на свій екземпляр Vultr CentOS.
Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних
Squid — популярна безкоштовна програма для Linux, яка дозволяє створювати веб-проксі для переадресації. У цьому посібнику ви дізнаєтеся, як встановити Squid на CentOS, щоб перетворити вас
Вступ Lighttpd — це форк Apache, який має набагато меншу ресурсомісткість. Він легкий, звідси його назва, і досить простий у використанні. Встановити
VULTR нещодавно вніс зміни на свою сторону, і тепер усе має працювати нормально з коробки з увімкненим NetworkManager. Якщо ви бажаєте вимкнути
Icinga2 — це потужна система моніторингу, і при використанні в моделі «майстер-клієнт» вона може замінити потребу в перевірках моніторингу на основі NRPE. Майстер-клієнт
Використання іншої системи? Apache Cassandra — це безкоштовна система керування базами даних NoSQL з відкритим вихідним кодом, яка розроблена для забезпечення масштабованості, високої
Використання іншої системи? Microweber — це CMS та інтернет-магазин із відкритим вихідним кодом. Вихідний код Microweber розміщено на GitHub. Цей посібник покаже вам
Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд
Використання іншої системи? Mattermost — це автономна альтернатива службі обміну повідомленнями Slack SAAS з відкритим кодом. Іншими словами, з Mattermost ви бл
Панель керування Plesk має дуже гарну інтеграцію для Lets Encrypt. Lets Encrypt є одним із єдиних постачальників SSL, які надають сертифікати повністю
Lets Encrypt — це центр сертифікації, який надає безкоштовні сертифікати SSL. cPanel створив чітку інтеграцію, щоб ви і ваш клієнт
Використання іншої системи? Concrete5 — це CMS з відкритим вихідним кодом, яка пропонує багато відмінних і корисних функцій, які допомагають редакторам легко створювати вміст.
Використання іншої системи? Review Board — це безкоштовний інструмент з відкритим кодом для перегляду вихідного коду, документації, зображень та багато іншого. Це веб-програмне забезпечення
У цьому посібнику ви дізнаєтеся, як налаштувати автентифікацію HTTP для веб-сервера Nginx, що працює на CentOS 7. Вимоги Щоб почати, вам знадобиться
Використання іншої системи? GoAccess — це аналізатор веб-журналів з відкритим вихідним кодом. Ви можете використовувати його для аналізу журналів у режимі реального часу в терміналі або
YOURLS (Your Own URL Shortener) — програма для скорочення URL-адрес і аналізу даних із відкритим вихідним кодом. У цій статті ми розглянемо процес встановлення
Використання іншої системи? Вступ ArangoDB — це відкрита база даних NoSQL з гнучкою моделлю даних для документів, графіків і ключів-значень. це є
Вступ Каталог /etc/ відіграє важливу роль у функціонуванні системи Linux. Причина цього в тому, що майже кожна конфігурація системи
Багато системних адміністраторів керують великою кількістю серверів. Якщо потрібно отримати доступ до файлів на різних серверах, увійти на кожен окремо бл
У цьому посібнику буде описано процес встановлення ігрового сервера Half Life 2 на систему CentOS 6. Крок 1: Встановлення необхідних умов Щоб налаштувати ou
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.
Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.
Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.
Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…
Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.
Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.
Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.
У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.
Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше