Si të konfiguroni një server Tekkit Classic në Ubuntu 16.10
Përdorimi i një sistemi të ndryshëm? Çfarë është Tekkit Classic? Tekkit Classic është një modpack për lojën që të gjithë e njohin dhe e duan; Minecraft. Ai përmban disa nga ver
Wekan është një tabelë kanban e ndërtuar me kornizën Meteor JavaScript. Konsiderohet si një alternativë me burim të hapur dhe të vetë-pritur për Trello, duke ofruar pothuajse të njëjtat veçori. Kjo ju lejon të krijoni lista të menaxhimit të "për të bërë" të bazuara në karta. Wekan është shumë i dobishëm për të rritur produktivitetin kur punoni në një mjedis bashkëpunues. Wekan ka një ndërfaqe uebi plotësisht të përgjegjshme dhe përkthehet në mënyrë aktive në shumë gjuhë.
Për këtë tutorial, ne do të përdorim wekan.example.com
si emër domaini të drejtuar drejt shembullit Vultr. Ju lutemi sigurohuni që të zëvendësoni të gjitha dukuritë e emrit të domenit shembull me atë aktual.
Përditësoni sistemin tuaj bazë duke përdorur udhëzuesin Si të përditësoni Ubuntu 16.04 . Pasi sistemi juaj të jetë përditësuar, vazhdoni të instaloni varësitë.
Wekan mbështet vetëm Node.js LTS version 4.8
. Për të instaluar Node.js, ne do të përdorim menaxherin e versionit të nyjeve. Instaloni nvm
duke ekzekutuar skriptin e instaluesit.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
Për të filluar menjëherë përdorimin nvm
, ekzekutoni këtë.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Nëse nvm
është instaluar me sukses, atëherë duhet të jeni në gjendje të kontrolloni versionin e tij.
user@vultr:~$ nvm --version
0.33.4
Instaloni Node.js.
nvm install v4.8
Cakto versionin e paracaktuar të Node.js.
nvm use node
Nëse Node.js është instaluar me sukses, atëherë duhet të jeni në gjendje të kontrolloni versionin e tij.
node -v
Do ta shihni këtë dalje.
user@vultr:~$ node -v
v4.8.4
NVM instalon Node.js vetëm për përdoruesin aktual. Që Node.js të jetë i aksesueshëm globalisht, ekzekutoni këtë.
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr
Node.js tani është në dispozicion si /usr/bin/node
.
user@vultr:~$ sudo which node
/usr/bin/node
MongoDB është një server i bazës së të dhënave NoSQL pa pagesë dhe me burim të hapur. Ndryshe nga bazat e të dhënave tradicionale që përdorin tabela për të organizuar të dhënat e tyre, MongoDB është i orientuar drejt dokumenteve dhe përdor dokumente të ngjashme me JSON pa skema. Wekan përdor MongoDB për të ruajtur të dhënat e tij.
Wekan është i pajtueshëm vetëm me MongoDB version 3.2
. Krijoni një skedar të ri depoje.
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Importoni çelësin publik GPG të MongoDB dhe përditësoni listën e paketave.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
sudo apt update
Instaloni MongoDB.
sudo apt install -y mongodb-org
Nisni MongoDB dhe aktivizoni që të fillojë automatikisht.
sudo systemctl start mongod
sudo systemctl enable mongod
Si parazgjedhje, nuk ka asnjë vërtetim të aktivizuar në një server MongoDB. Çdo përdorues që ka akses në terminalin e serverit do të ketë privilegje të plota në instalimin e MongoDB. Për të siguruar serverin e bazës së të dhënave dhe për të kufizuar aksesin e një përdoruesi të paprivilegjuar, do të na duhet të konfigurojmë vërtetimin në server.
MongoDB ofron një mongo
guaskë e cila përdoret për të ekzekutuar pyetje në MongoDB. Kaloni në mongo
guaskë.
mongo
Krijoni një përdorues të ri MongoDB me privilegje rrënjësore. Ju mund të përdorni çdo emër përdoruesi që dëshironi. Ju lutemi sigurohuni që të zëvendësoni fjalëkalimin .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Ju duhet të shihni daljen e mëposhtme.
user@vultr:~$ mongo
MongoDB shell version: 3.2.17
connecting to: test
Welcome to the MongoDB shell.
...
2017-09-30T18:11:40.274+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"
}
]
}
Dilni ndërfaqen e komandës MongoDB në terminalin Linux duke shtypur " Ctrl+C
".
Redaktoni skedarin e konfigurimit MongoDB.
sudo nano /etc/mongod.conf
Shtoni rreshtin e mëposhtëm në fund të skedarit.
security:
authorization: enabled
Rinisni MongoDB në mënyrë që ndryshimi i konfigurimit të mund të hyjë në fuqi.
sudo systemctl restart mongod
Tani që siguria është aktivizuar, mund të provoni nëse po funksionon duke kaluar përsëri në guaskën mongo duke përdorur mongo
komandën. Këtë herë, nëse kryeni një pyetje, të tillë si show dbs
për të shfaqur listën e bazave të të dhënave, do të shihni një mesazh që raporton autorizimin e dështuar. Dilni sudo
përsëri te përdoruesi pasi të keni testuar hyrjen si përdoruesi i ri që sapo keni krijuar.
Hyni si administrator
përdoruesi që sapo keni krijuar.
mongo -u admin -p
Jepni fjalëkalimin e përdoruesit për një hyrje të suksesshme. Krijo një përdorues të ri për wekan
bazën e të dhënave që do të përdoret për të ruajtur të dhënat Wekan.
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
Sigurohuni që ta zëvendësoni StrongPassword
me një fjalëkalim të fortë. Do të shihni daljen e mëposhtme.
user@vultr:~$ mongo -u admin -p
MongoDB shell version: 3.2.17
Enter password:
connecting to: test
...
2017-09-30T18:13:26.007+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.44/wekan-0.44.tar.gz
Extract the downloaded archive into a new directory named wekan
.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
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 an email server ready, you can always change this configuration later.
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 into 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.
Add the Certbot PPA
repository to the system.
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
Install Nginx and Certbot, which is the client application for Let's Encrypt CA.
sudo apt -y install certbot nginx
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
The generated certificates are likely to be stored in the /etc/letsencrypt/live/wekan.example.com/
directory. The SSL certificate will be stored as fullchain.pem
, and private key will be stored as privkey.pem
.
Let's Encrypt certificates expire in 90 days, so it is recommended to set up auto-renewal of the certificates using Cronjob. Cron is a system service which is used to run periodic tasks.
Open the cron job file.
sudo crontab -e
Add the following line at the end of the file.
30 5 * * * /usr/bin/certbot renew --quiet
The above cron job will run every day at 5:30 AM. If the certificates are due for expiration, it will automatically renew them.
Create a new virtual host.
sudo nano /etc/nginx/sites-available/wekan.example.com.conf
Populate the file with the following.
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;
}
}
Replace wekan.example.com
with your actual domain name in the above configuration.
Enable the newly added site.
sudo ln -s /etc/nginx/sites-available/wekan.example.com.conf /etc/nginx/sites-enabled/wekan.example.com.conf
Restart Nginx so that the changes can take effect.
sudo systemctl restart nginx
Aktivizo Nginx që të fillojë automatikisht në kohën e nisjes.
sudo systemctl enable nginx
Krijoni një përdorues të ri që procesi të ekzekutohet.
sudo adduser wekan --shell /usr/sbin/nologin --home /opt/wekan
Tani lëvizni të gjithë skedarët në /opt/wekan
drejtori.
sudo mv ~/wekan/* /opt/wekan/
Jepni pronësinë e skedarëve përdoruesit të sapokrijuar.
sudo chown -R wekan:wekan /opt/wekan
Wekan nuk merr të dhëna nga asnjë skedar konfigurimi. Në vend të kësaj, ai akseson atë nga variablat e mjedisit. Ne do të krijojmë një skedar të ri për të ruajtur variablat e mjedisit. Skedari që përmban variablat e mjedisit do të kalojë përmes Systemd
shërbimit.
Krijoni një skedar të ri për të ruajtur variablat e mjedisit.
sudo nano /opt/wekan/config.env
Plotësoni skedarin me përmbajtjen e mëposhtme.
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
Ju lutemi sigurohuni që të zëvendësoni username
dhe password
.
Jepni pronësinë wekan
përdoruesit duke ekzekutuar.
sudo chown -R wekan:wekan /opt/wekan/config.env
Krijo një skedar të ri shërbimi për shërbimin Wekan systemd.
sudo nano /etc/systemd/system/wekan.service
Plotësoni skedarin me sa vijon.
[Unit]
Description=Wekan Server
After=syslog.target
After=network.target
[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/usr/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
Ruani skedarin dhe dilni nga redaktori. Tani mund të filloni lehtësisht Wekan.
sudo systemctl start wekan
Për të mundësuar që Wekan të fillojë automatikisht në kohën e nisjes.
sudo systemctl enable wekan
Për të kontrolluar statusin e shërbimit Wekan.
sudo systemctl status wekan
Tani mund të përdorni shembullin Wekan në https://wekan.example.com
. Filloni duke krijuar një llogari të re. Pasi të keni krijuar llogarinë, mund të aktivizoni aksesin administrativ te përdoruesi i sapokrijuar. Hyni në guaskën MongoDB si përdorues administrativ.
mongo -u wekan -p --authenticationDatabase "wekan"
Tani zgjidhni wekan
bazën e të dhënave dhe përditësoni objektin për të promovuar përdoruesin te përdoruesi admin.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
Ju lutemi sigurohuni që ta zëvendësoni admin_user
me emrin aktual të përdoruesit të përdoruesit që keni krijuar. Nga ndërfaqja e administratorit, do të jeni në gjendje të çaktivizoni vetë-regjistrimin dhe të përditësoni cilësimet SMTP.
Urime, ju keni instaluar me sukses tabelën Wekan Kanban në shembullin tuaj Vultr Ubuntu.
Përdorimi i një sistemi të ndryshëm? Çfarë është Tekkit Classic? Tekkit Classic është një modpack për lojën që të gjithë e njohin dhe e duan; Minecraft. Ai përmban disa nga ver
Përdorimi i një sistemi të ndryshëm? Jekyll është një alternativë e shkëlqyeshme për WordPress për blogimin ose ndarjen e përmbajtjes. Nuk kërkon ndonjë bazë të dhënash dhe është shumë e lehtë i
Përdorimi i një sistemi të ndryshëm? Nëse blini një server Debian, atëherë duhet të keni gjithmonë arnimet dhe përditësimet më të fundit të sigurisë, pavarësisht nëse jeni në gjumë apo jo
Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer
Përdorimi i një sistemi të ndryshëm? Red5 është një server mediash me burim të hapur i implementuar në Java që ju lejon të ekzekutoni aplikacione Flash me shumë përdorues si transmetimi i drejtpërdrejtë
Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë
Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë
Përdorimi i një sistemi të ndryshëm? Forumi Vanilla është një aplikacion forumi me burim të hapur i shkruar në PHP. Është plotësisht i personalizueshëm, i lehtë për t'u përdorur dhe mbështet jashtëm
Përdorimi i një sistemi të ndryshëm? Hyrje Kanboard është një program softuerik për menaxhimin e projekteve me burim të lirë dhe me burim të hapur, i cili është krijuar për të lehtësuar dhe vizualizuar
Përdorimi i një sistemi të ndryshëm? Hyrje Kanboard është një program softuerik për menaxhimin e projekteve me burim të lirë dhe me burim të hapur, i cili është krijuar për të lehtësuar dhe vizualizuar
Hyrje Lynis është një mjet falas, me burim të hapur të auditimit të sistemit, që përdoret nga shumë administratorë të sistemit për të verifikuar integritetin dhe për të forcuar sistemet e tyre. Unë
Përdorimi i një sistemi të ndryshëm? Thelia është një mjet me burim të hapur për krijimin e faqeve të internetit të e-biznesit dhe menaxhimin e përmbajtjes në internet të shkruar në PHP. Kodi burimor Thelia i
Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë
Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, i lirë dhe me burim të hapur, i shkallës së ndërmarrjes.
Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth
Përdorimi i një sistemi të ndryshëm? DotCMS është një sistem menaxhimi i përmbajtjes me burim të hapur, të nivelit të ndërmarrjes, i shkruar në Java. Ai përmban pothuajse çdo veçori të kërkuar
Përdorimi i një sistemi të ndryshëm? BigTree CMS 4.2 është një sistem i shpejtë dhe i lehtë, pa pagesë dhe me burim të hapur, sistem i menaxhimit të përmbajtjes së nivelit të ndërmarrjes (CMS) me një
Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata
Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj
Adminer është një alternativë e lehtë për phpMyAdmin. Në krahasim, madhësia totale e paketës së saj është 400 KB, kundrejt 4.2 MB të phpMyAdmin. Ndryshe nga phpMyAdmin, e cila
Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.
A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.
Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.
Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.
Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…
Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.
Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.
Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.
Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.
Së fundmi Apple lëshoi macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë