CentOS 7de Tavşan Kümesini Kümeleme
RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir
Wekan, Meteor JavaScript çerçevesiyle oluşturulmuş bir kanban panosudur. Neredeyse aynı özellikleri sağlayan, açık kaynak kodlu ve Trello'ya kendi kendine barındırılan bir alternatif olarak kabul edilir. Kart tabanlı "yapılacaklar" yönetim listeleri oluşturmanızı sağlar. Wekan, işbirlikçi bir ortamda çalışırken verimliliği artırmak için çok faydalıdır. Wekan tamamen duyarlı bir web arayüzüne sahiptir ve birçok dilde aktif olarak tercüme edilmiştir.
Bu eğitimde, wekan.example.com
Vultr örneğine işaret eden alan adı olarak kullanacağız . Lütfen örnek alan adının tüm tekrarlarını gerçek adla değiştirdiğinizden emin olun.
Ubuntu 16.04 Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendiğinde, bağımlılıkları yüklemeye devam edin.
Wekan sadece destekler Node.js LTS version 4.8
. Node.js'yi yüklemek için, düğüm sürüm yöneticisini kullanacağız. nvm
Yükleyici komut dosyasını çalıştırarak yükleyin .
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
Hemen kullanmaya başlamak için nvm
bunu çalıştırın.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Eğer nvm
başarıyla yüklendikten sonra onun sürümünü kontrol etmek mümkün olmalıdır.
user@vultr:~$ nvm --version
0.33.4
Node.js'yi yükleyin.
nvm install v4.8
Node.js'nin varsayılan sürümünü ayarlayın.
nvm use node
Node.js başarıyla yüklendiyse, sürümünü kontrol edebilmeniz gerekir.
node -v
Bu çıktıyı göreceksiniz.
user@vultr:~$ node -v
v4.8.4
NVM, yalnızca geçerli kullanıcı için Node.js'yi yükler. Node.js'nin küresel olarak erişilebilir olması için bunu çalıştırın.
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr
Node.js artık kullanılabilir /usr/bin/node
.
user@vultr:~$ sudo which node
/usr/bin/node
MongoDB ücretsiz ve açık kaynaklı bir NoSQL veritabanı sunucusudur. Verilerini düzenlemek için tablolar kullanan geleneksel veritabanlarının aksine, MongoDB belge yönelimlidir ve şemaları olmayan JSON benzeri belgeleri kullanır. Wekan, verilerini saklamak için MongoDB'yi kullanır.
Wekan sadece ile uyumludur MongoDB version 3.2
. Yeni bir havuz dosyası oluşturun.
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
MongoDB genel GPG anahtarını alın ve paket listesini güncelleyin.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
sudo apt update
MongoDB'yi yükleyin.
sudo apt install -y mongodb-org
MongoDB'yi başlatın ve otomatik olarak başlamasını sağlayın.
sudo systemctl start mongod
sudo systemctl enable mongod
Varsayılan olarak, bir MongoDB sunucusunda etkin kimlik doğrulaması yoktur. Sunucunun terminaline erişimi olan tüm kullanıcılar MongoDB kurulumunda tam ayrıcalıklara sahip olacaktır. Veritabanı sunucusunu güvenceye almak ve ayrıcalıksız bir kullanıcının erişimini kısıtlamak için sunucuda kimlik doğrulaması ayarlamamız gerekir.
MongoDB, MongoDB'de mongo
sorgu çalıştırmak için kullanılan bir kabuk sağlar . Kabuğa geçin mongo
.
mongo
Kök ayrıcalıklarına sahip yeni bir MongoDB kullanıcısı oluşturun. İstediğiniz herhangi bir kullanıcı adını kullanabilirsiniz. Lütfen şifreyi değiştirdiğinizden emin olun .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Aşağıdaki çıktıyı görmelisiniz.
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"
}
]
}
" Ctrl+C
" Tuşuna basarak MongoDB komut arayüzünden Linux terminaline çıkın .
MongoDB yapılandırma dosyasını düzenleyin.
sudo nano /etc/mongod.conf
Dosyanın sonuna aşağıdaki satırı ekleyin.
security:
authorization: enabled
Yapılandırma değişikliğinin etkili olabilmesi için MongoDB'yi yeniden başlatın.
sudo systemctl restart mongod
Artık güvenlik etkinleştirildi, mongo
komutu kullanarak tekrar mongo kabuğuna geçerek çalışıp çalışmadığını test edebilirsiniz . Bu kez, show dbs
veritabanlarının listesini göstermek gibi bir sorgu çalıştırırsanız, yetkilendirmenin başarısız olduğunu bildiren bir ileti görürsünüz. sudo
Oturum açmayı yeni oluşturduğunuz yeni kullanıcı olarak test ettikten sonra kullanıcıya tekrar çıkın .
administrator
Yeni oluşturduğunuz kullanıcı olarak giriş yapın .
mongo -u admin -p
Başarılı bir giriş için kullanıcının şifresini girin. wekan
Wekan verilerini depolamak için kullanılacak veritabanı için yeni bir kullanıcı oluşturun .
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
Yerine StrongPassword
güçlü bir parola koyduğunuzdan emin olun . Aşağıdaki çıktıyı göreceksiniz.
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" ] }
Yeni sürümler çok sık olduğu için Github'daki Wekan sürümüne en son bağlantı olup olmadığını kontrol edin . Yükleyici paketine bağlantıyı değiştirerek Wekan'ın en son sürümünü Github'dan indirin.
cd ~
wget https://github.com/wekan/wekan/releases/download/v0.44/wekan-0.44.tar.gz
İndirilen arşivi adlı yeni bir dizine çıkartın wekan
.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
Node.js bağımlılıklarını yükleyin.
cd wekan/bundle/programs/server && npm install
Wekan sunucusu, ortam değişkenlerinden yapılan yapılandırmaları okur. Yapılandırmaları ortam değişkenleri olarak ayarlamak için aşağıdaki komutları çalıştırın.
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
wekan
Oluşturduğunuz kullanıcı için MongoDB şifresini değiştirdiğinizden emin olun . Ayrıca, posta URL'sini SMTP sunucusu ayarlarınıza göre güncelleyin. Hazır bir e-posta sunucunuz yoksa, bu yapılandırmayı daha sonra istediğiniz zaman değiştirebilirsiniz.
Uygulamayı hemen başlatmak için.
cd ~/wekan/bundle
node main.js
Artık uygulamaya giderek erişebilirsiniz http://wekan.example.com:4000
. Wekan kanban panosunda oturum açmak için arayüz göreceksiniz.
Üretim kullanımı için, uygulamaya standart HTTP
bağlantı noktasında hizmet verecek bir ters proxy systemd
ve uygulama işlemini yönetmek için bir hizmet ayarlamanız önerilir . Bu derste, Nginx web sunucusunu Let's Encrypt ücretsiz SSL ile güvenlik altına alınan bir proxy olarak kullanacağız.
Certbot PPA
Havuzu sisteme ekleyin .
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
Let's Encrypt CA'nın istemci uygulaması olan Nginx ve Certbot'u yükleyin.
sudo apt -y install certbot nginx
Not: Let's Encrypt CA'dan sertifika almak için kullandığınız etki alanı adı sunucuya yönlendirilmelidir. İstemci, sertifikaları vermeden önce etki alanı yetkilisini doğrular .
SSL sertifikaları oluşturun.
sudo certbot certonly --standalone -d wekan.example.com
Oluşturulan sertifikaların /etc/letsencrypt/live/wekan.example.com/
dizinde depolanması muhtemeldir . SSL sertifikası olarak fullchain.pem
ve özel anahtar olarak depolanacaktır privkey.pem
.
Sertifikaların şifrelenmesini 90 gün içinde sona erdirelim, bu nedenle Cronjob kullanarak sertifikaların otomatik olarak yenilenmesi önerilir. Cron, periyodik görevleri yürütmek için kullanılan bir sistem hizmetidir.
Cron iş dosyasını açın.
sudo crontab -e
Dosyanın sonuna aşağıdaki satırı ekleyin.
30 5 * * * /usr/bin/certbot renew --quiet
Yukarıdaki cron işi her gün 05: 30'da çalışacaktır. Sertifikaların süresinin dolması gerekiyorsa, sertifikalar otomatik olarak yenilenir.
Yeni bir sanal ana bilgisayar oluşturun.
sudo nano /etc/nginx/sites-available/wekan.example.com.conf
Dosyayı aşağıdakilerle doldurun.
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
Yukarıdaki yapılandırmada gerçek alan adınızla değiştirin .
Yeni eklenen siteyi etkinleştirin.
sudo ln -s /etc/nginx/sites-available/wekan.example.com.conf /etc/nginx/sites-enabled/wekan.example.com.conf
Değişikliklerin etkili olabilmesi için Nginx'i yeniden başlatın.
sudo systemctl restart nginx
Nginx'in önyükleme zamanında otomatik olarak başlamasını etkinleştirin.
sudo systemctl enable nginx
İşlemin çalışması için yeni bir kullanıcı oluşturun.
sudo adduser wekan --shell /usr/sbin/nologin --home /opt/wekan
Şimdi tüm dosyaları /opt/wekan
dizine taşıyın .
sudo mv ~/wekan/* /opt/wekan/
Yeni oluşturulan kullanıcıya dosyaların sahipliğini sağlayın.
sudo chown -R wekan:wekan /opt/wekan
Wekan hiçbir yapılandırma dosyasından veri almaz. Bunun yerine, ortam değişkenlerinden erişir. Ortam değişkenlerini saklamak için yeni bir dosya oluşturacağız. Ortam değişkenlerini içeren dosya Systemd
hizmetten geçirilir .
Ortam değişkenlerini saklamak için yeni bir dosya oluşturun.
sudo nano /opt/wekan/config.env
Dosyayı aşağıdaki içerikle doldurun.
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
Yerine emin olun username
ve password
.
Kullanarak wekan
kullanıcıya sahipliğini sağlayın .
sudo chown -R wekan:wekan /opt/wekan/config.env
Wekan systemd hizmeti için yeni bir hizmet dosyası oluşturun.
sudo nano /etc/systemd/system/wekan.service
Dosyayı aşağıdakilerle doldurun.
[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
Dosyayı kaydedin ve editörden çıkın. Artık Wekan'ı kolayca başlatabilirsiniz.
sudo systemctl start wekan
Wekan'ın önyükleme zamanında otomatik olarak başlamasını sağlamak için.
sudo systemctl enable wekan
Wekan servisinin durumunu kontrol etmek.
sudo systemctl status wekan
Artık Wekan örneğine adresinden erişebilirsiniz https://wekan.example.com
. Yeni bir hesap oluşturarak başlayın. Hesabı oluşturduktan sonra, yeni oluşturulan kullanıcıya yönetici erişimini etkinleştirebilirsiniz. Yönetici kullanıcı olarak MongoDB kabuğuna giriş yapın.
mongo -u wekan -p --authenticationDatabase "wekan"
Şimdi wekan
veritabanını seçin ve kullanıcıyı yönetici kullanıcıya tanıtmak için nesneyi güncelleyin.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
Lütfen admin_user
oluşturduğunuz kullanıcının gerçek kullanıcı adıyla değiştirdiğinizden emin olun . Yönetici arayüzünden, kendi kendine kaydı devre dışı bırakabilir ve SMTP ayarlarını güncelleyebilirsiniz.
Tebrikler, Vekanr Ubuntu örneğinize Wekan Kanban panosunu başarıyla yüklediniz.
RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir
NFS, bilgisayarların bilgisayar ağı üzerindeki dosyalara erişmesine izin veren ağ tabanlı bir dosya sistemidir. Bu kılavuz, klasörleri NF üzerinden nasıl açığa çıkarabileceğinizi açıklar
Bu kılavuz, Ubuntu 16.04 çalıştıran bir Vultr örneği için GitBucketin temel kurulumunu ve kurulumunu kapsar ve komutları şu şekilde yürüttüğünüzü varsayar:
Farklı Bir Sistem mi Kullanıyorsunuz? Directus 6.4 CMS, geliştirici sağlayan güçlü ve esnek, ücretsiz ve açık kaynaklı Başsız İçerik Yönetim Sistemidir (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? Mattermost, Slack SAAS mesajlaşma servisine açık kaynaklı, kendi kendine barındırılan bir alternatiftir. Başka bir deyişle, Mattermost ile,
TeamTalk, kullanıcıların yüksek kaliteli sesli / görüntülü konuşmalara, metin sohbetine, dosya aktarımına ve ekranları paylaşmasına olanak tanıyan bir konferans sistemidir. Ben
Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size
Vultr, yeni bir örnek oluşturduktan sonra SSH anahtarlarını önceden yüklemenizi sağlayan bir özellik sağlar. Bu, sunucu kök kullanıcısına erişmenizi sağlar, ancak
Farklı Bir Sistem mi Kullanıyorsunuz? Diaspora gizliliğe duyarlı, açık kaynaklı bir sosyal ağdır. Bu derste, bir Diaspora posının nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz
Farklı Bir Sistem mi Kullanıyorsunuz? Fuel CMS, CodeIgniter tabanlı bir içerik yönetim sistemidir. Kaynak kodu GitHubda barındırılmaktadır. Bu kılavuz size
Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların önüne # ve bir
Farklı Bir Sistem mi Kullanıyorsunuz? Snipe-IT, BT varlık yönetimi için ücretsiz ve açık kaynaklı bir web uygulamasıdır. Laravel 5.2 çerçevesi ve kullanımı üzerine yazılmıştır.
Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak
Ranger, VI anahtar bağlamaları olan komut satırı tabanlı bir dosya yöneticisidir. Dizin hiyerarşisi manzaralı minimalist ve hoş bir curses arayüzü sağlar
Farklı Bir Sistem mi Kullanıyorsunuz? Brotli, GZIPden daha iyi bir sıkıştırma oranına sahip yeni bir sıkıştırma yöntemidir. Kaynak kodu bu Githuda herkese açık olarak barındırılıyor
Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b
Farklı Bir Sistem mi Kullanıyorsunuz? Omeka Classic 2.4 CMS, digita paylaşımı için ücretsiz ve açık kaynaklı bir dijital yayıncılık platformu ve İçerik Yönetim Sistemidir (CMS)
Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların başına # işareti gelir. th
SSH üzerinden kök girişine izin vermek, teknoloji endüstrisinde genellikle zayıf bir güvenlik uygulaması olarak kabul edilir. Bunun yerine, hassas yönetim gerçekleştirebilirsiniz
Farklı Bir Sistem mi Kullanıyorsunuz? RabbitMQ, Erlang programlama dilinde yazılmış, yaygın olarak kullanılan açık kaynaklı bir mesaj aracısıdır. Mesaj odaklı bir ara katman yazılımı olarak
CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.
Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.
OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.
Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?