Инсталирайте Plesk на CentOS 7
Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни
Wekan е kanban дъска, изградена с рамката на 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 shell с помощта на 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. Това ръководство ще ви покаже
Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca
Какво ви трябва Vultr VPS с поне 1 GB RAM. SSH достъп (с root/административни привилегии). Стъпка 1: Инсталиране на BungeeCord На първо място
Контролният панел на Plesk разполага с много приятна интеграция за Lets Encrypt. Lets Encrypt е един от единствените доставчици на SSL, които предоставят пълно сертификати
Lets Encrypt е сертифициращ орган, посветен на предоставянето на SSL сертификати безплатно. cPanel изгради чиста интеграция, така че вие и вашият клиент
Използване на различна система? Concrete5 е CMS с отворен код, който предлага много отличителни и полезни функции за подпомагане на редакторите при лесното създаване на съдържание и
Използване на различна система? Review Board е безплатен инструмент с отворен код за преглед на изходен код, документация, изображения и много други. Това е уеб базиран софтуер
В това ръководство ще научите как да настроите HTTP удостоверяване за уеб сървър на Nginx, работещ на CentOS 7. Изисквания За да започнете, ще ви трябва
YOURLS (Your Own URL Shortener) е приложение за съкращаване на URL адреси и анализ на данни с отворен код. В тази статия ще разгледаме процеса на инсталиране
Използване на различна система? Въведение ArangoDB е NoSQL база данни с отворен код с гъвкав модел на данни за документи, графики и ключ-стойности. то е
Въведение Директорията /etc/ играе критична роля в начина, по който функционира една Linux система. Причината за това е, че почти всяка системна конфигурация
Много системни администратори управляват големи количества сървъри. Когато файловете трябва да бъдат достъпни на различни сървъри, влизането във всеки от тях поотделно ок
Този урок ще обхване процеса на инсталиране на сървър за игри Half Life 2 на CentOS 6 System. Стъпка 1: Инсталиране на предпоставките За да настроите ou
Laravel GitScrum или GitScrum е инструмент за производителност с отворен код, предназначен да помогне на екипите за разработка да внедрят методологията на Scrum по подобен начин.
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече