CentOS 7de Leanote Server Kurulumu

Leanote, Golang'da yazılmış Evernote'a ücretsiz, hafif ve açık kaynaklı bir alternatiftir. Kullanıcı deneyimi göz önünde bulundurularak, Leanote kullanıcılara platformlar arası destek, MarkDown sözdiziminde yazma, genel veya özel bloglama, bilgi toplama ve paylaşma ve ekip işbirliği gibi birçok pratik özellik sunar.

Bu makalede, CentOS 7 sunucu örneğinde Leanote sunucusu kurma konusunda size yol göstereceğim. Güvenlik amacıyla, HTTPS supportbir Let's Encrypt SSL sertifikası ve Nginx kullanmanın etkinleştirilmesi de ele alınacaktır.

Ön şartlar

  • Yeni dağıtılan bir Vultr CentOS 7 sunucu örneği. Diyelim ki IPv4 adresi 203.0.113.1.
  • Adlı bir sudo kullanıcısıleanote .
  • Makinedeki tüm yazılım paketleri EPEL YUM repo kullanılarak en son kararlı duruma güncellenmiştir. Ayrıntılar için buraya bakın .
  • leanote.example.comYukarıda belirtilen sunucu örneğine yönlendirilen bir etki alanı .

Adım 1: Takas dosyası oluşturma

Yeni bir Vultr CentOS 7 sunucu yönetim ortamı başlatırken, sistemin düzgün çalıştığından emin olmak için her zaman bir takas dosyası oluşturmanız önerilir. Örneğin, 2048 MB boyutunda bir takas dosyası oluşturmak, 2 GB belleğe sahip bir makine için uygundur.

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Not: Farklı bir sunucu boyutu kullanıyorsanız, takas dosyasının boyutunu değiştirmeniz gerekebilir.

Adım 2: Leanote 2.6.1 ikili dosyalarını edinin

64 bit Linux sistemi için Leanote'un en son kararlı sürümünü indirin ve ayıklayın:

cd
wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz

Adım 3: MongoDB Community Edition 4.0'ı yükleyin

Leanote'un gerektirdiği gibi, bir Leanote sunucusunu başarıyla kurabilmeniz için MongoDB NoSQL DBMS'nin yerinde olması gerekir.

MongoDB 4.0 YUM deposunu kurma

MongoDB 4.0 YUM deposunu aşağıdaki gibi oluşturun:

cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF

YUM kullanarak MongoDB 4.0 paketlerini yükleme

Daha önce oluşturulan MongoDB 4.0 YUM repo'yu kullanarak tüm MongoDB bileşenlerini ve araçlarını kurun:

sudo yum install -y mongodb-org

SELinux'u MongoDB 4.0 için yapılandırma

Varsayılan olarak, MongoDB 27017çalışırken SELINux enforcingCentOS 7 makinesinde modda ise izin verilmez bağlantı noktasını kullanır . Geçerli SELinux modunu onaylamak için aşağıdaki komutu kullanın:

sudo getenforce

Vultr CentOS 7 sunucusu örneğinde, SELinux varsayılan olarak devre dışıdır. Yukarıdaki komutun çıktısı şöyle olur:

Disabled

Bu durumda, SELinux'u yapılandırma ve devam etme ile ilgili aşağıdaki talimatları atlayabilirsiniz.

Ancak, özgün bir CentOS 7 sunucu örneği çalıştırıyorsanız, yukarıdaki komutun çıktısı olacaktır Enforcing. MongoDB hizmetini başlatmadan ve etkinleştirmeden önce aşağıdaki üç seçenekten birini yapmanız gerekir .

  • Seçenek 1: MongoDB'nin 27017bağlantı noktasını kullanmasına izin ver

    sudo semanage port -a -t mongod_port_t -p tcp 27017
    
  • Seçenek 2: SELinux'u devre dışı bırak

    sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    sudo shutdown -r now
    
  • Seçenek 3: SELinux'u permissivemoda getirin

    sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
    sudo shutdown -r now
    

MongoDB hizmetini başlatın ve sistemin yeniden başlatılmasının ardından başlatılmasını sağlayın:

sudo systemctl start mongod.service
sudo systemctl enable mongod.service

4. Adım: İlk Leanote verilerini MongoDB'ye aktarın

İlk Leanote verilerini MongoDB'ye almak için aşağıdaki komutları kullanın:

rm /home/leanote/leanote/mongodb_backup/leanote_install_data/.DS_Store
mongorestore --host localhost -d leanote --dir /home/leanote/leanote/mongodb_backup/leanote_install_data/

5. Adım: MongoDB kimlik doğrulamasını etkinleştirme

Güvenlik amacıyla, MongoDB hizmeti çalışmaya başladıktan hemen sonra MongoDB'ye erişim denetimini etkinleştirmeniz gerekir. Bu amaçla, en az iki MongoDB kullanıcı hesabı oluşturmanız gerekir: bir kullanıcı yönetici hesabı ve bir veritabanı yönetici hesabı. Ayrıca MongoDB yapılandırmasını değiştirmeniz gerekecektir.

MongoDB kabuğunu girin:

mongo --host 127.0.0.1:27017

Geçin adminveritabanı:

use admin

useradminParola kullanan bir kullanıcı yöneticisi oluşturun useradminpassword:

db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

Not: Kullanıcı useradminyöneticisinin tüm MongoDB kullanıcılarını yönetmesi gerekir, bu nedenle güçlü bir şifre seçmek akıllıca olacaktır. Tabii ki, daha güvenli bir ipucu useradmintahmin edilmesi zor bir kullanıcı adıyla değiştirmektir.

Geçin leanoteveritabanı:

use leanote

leanoteadminParola kullanan bir veritabanı yöneticisi oluşturun leanoteadminpassword:

db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })

Not : Yine, daha az bilinen bir kullanıcı adı ve tahmin edilmesi zor bir şifre seçmeniz önerilir.

MongoDB kullanıcıları oluşturduktan sonra sonuçları onaylayabilirsiniz:

use admin
db.auth("useradmin", "useradminpassword")

Veritabanı yöneticisini onaylayın:

use leanote
db.auth("leanoteadmin", "leanoteadminpassword")

Her ikisi 1de onay olarak çıkacaktır .

MongoDB kabuğundan çıkın:

exit

MongoDB'ye erişim kontrolünü etkinleştirmek için, MongoDB yapılandırma dosyasına /etc/mongod.confaşağıdaki gibi iki satır eklemeniz gerekir :

sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo '  authorization: enabled' >> /etc/mongod.conf"

Değişikliklerin geçerli olması için MongoDB hizmetini yeniden başlatın:

sudo systemctl restart mongod.service

Şu andan itibaren, MongoDB'ye erişmek ve yönetmek, useradmintüm MongoDB kullanıcılarını leanoteadminyönetmek ve leanoteyalnızca veritabanını yönetmek için yalnızca iki kullanıcı hesabını kullanabilirsiniz .

6. Adım: Leanote'u yapılandırın

Leanote yapılandırma dosyasını yedekleyin /home/leanote/leanote/conf/app.conf:

cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak

viLeanote yapılandırma dosyasını açmak için düzenleyiciyi kullanın :

vi app.conf

Aşağıdaki satırları tek tek bulun:

site.url=http://localhost:9000
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y

Bunları sırasıyla aşağıda gösterildiği gibi değiştirin:

site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA

Not: Güvenlik nedeniyle, app.secretparametrenin değeri orijinalinden farklı bir 64 bit rastgele dize OLMALIDIR. Değeri E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sAkendi 64 bit rasgele değerinizle değiştirdiğinizden emin olun .

Kaydet ve çık:

:wq!

7. Adım: Leanote'u başlatın

Bağlantı noktasında gelen TCP trafiğine izin vermek için güvenlik duvarı kurallarını değiştirin 9000:

sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service

Resmi komut dosyasını kullanarak Leanote'u başlatın:

cd /home/leanote/leanote/bin
bash run.sh

Gördüğünüzde Listening on.. 0.0.0.0:9000, http://leanote.example.com:9000Leanote sitesini kullanmaya başlamak için favori web tarayıcınızı gösterin.

Oturum açmak için varsayılan Leanote yönetici hesabını kullanın:

  • Kullanıcı adı: admin
  • Parola: abc123

Güvenlik nedeniyle, oturum açtıktan hemen sonra varsayılan şifreyi değiştirmeniz gerekir.

8. Adım: HTTPSErişimi etkinleştirin

Şimdilik, Leanote sunucusuna daha az güvenli bir protokol olan HTTP protokolünü kullanarak erişebilirsiniz. Sistem güvenliğini artırmak HTTPSiçin, makinenize hem Let's Encrypt SSL sertifikası hem de Nginx ters proxy'si dağıtarak etkinleştirebilirsiniz .

Bir ana bilgisayar adını ve tam etki alanı adını (FQDN) düzgün şekilde ayarlayın

Let's Encrypt SSL sertifikasını almadan önce, makinenizde ana bilgisayar adını ve FQDN'yi doğru şekilde ayarlamanız gerekir.

İlk olarak, Leanote komut dosyasını durdurmak için CTRL+ tuşuna basın .Crun.sh

Ardından, ana bilgisayar adını ve FQDN'yi aşağıdaki gibi ayarlayın:

sudo hostnamectl set-hostname leanote
cat <<EOF | sudo tee /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 leanote.example.com leanote
EOF

Sonuçları da onaylayabilirsiniz:

hostname
hostname -f

Güvenlik duvarı kurallarını değiştirme

Bağlantı noktasındaki gelen trafiği engelle 9000ve bağlantı noktaları HTTPve HTTPShizmetleri için gelen trafiğe izin ver :

sudo firewall-cmd --permanent --remove-port=9000/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

Let's Encrypt SSL sertifikası için başvurun

Certbot yardımcı programını yükleyin:

sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot

Etki alanı için bir Let's Encrypt SSL sertifikası için başvurun leanote.example.com:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m admin@example.com -d leanote.example.com

Sertifika ve zincir aşağıdaki gibi kaydedilecektir:

/etc/letsencrypt/live/leanote.example.com/fullchain.pem

Özel anahtar dosyası aşağıdaki gibi kaydedilir:

/etc/letsencrypt/live/leanote.example.com/privkey.pem

Varsayılan olarak, Let's Encrypt SSL sertifikasının süresi üç ay içinde dolar. Let's Encrypt sertifikalarınızı otomatik olarak yenilemek için aşağıda gösterildiği gibi bir cron işi ayarlayabilirsiniz:

sudo crontab -e

Moda Igirmek için düğmesine basın insertve ardından aşağıdaki satırı girin:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

Kaydet ve çık:

:wq!

Bu cron işi öğleden sonra Let's Encrypt sertifikasını yenilemeye çalışacak.

Nginx'i ters proxy olarak yükleme

EPEL YUM deposunu kullanarak Nginx'i yükleyin:

sudo yum install -y nginx

Leanote için bir yapılandırma dosyası oluşturun:

cat <<EOF | sudo tee /etc/nginx/conf.d/leanote.conf
# Redirect HTTP to HTTPS
server {
    listen      80;
    server_name leanote.example.com;
    return      301 https://\$server_name\$request_uri;
}

server {

    # Setup HTTPS certificates
    listen       443 default ssl;
    server_name  leanote.example.com;
    ssl_certificate      /etc/letsencrypt/live/leanote.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/leanote.example.com/privkey.pem;

    # Proxy to the Leanote server
    location / {
        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-Host  \$http_host;
        proxy_set_header Host              \$http_host;
        proxy_max_temp_file_size           0;
        proxy_pass                         http://127.0.0.1:9000;
        proxy_redirect                     http:// https://;
    }
}
EOF

Değişikliklerinizi yürürlüğe koymak için Nginx'i yeniden başlatın:

sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

site.urlLeanote yapılandırma dosyasındaki ayarı değiştirin :

cd /home/leanote/leanote/conf/
vi app.conf

Aşağıdaki satırı bulun:

site.url=http://leanote.example.com:9000

Değiştirin:

site.url=https://leanote.example.com

Kaydet ve çık:

:wq!

Leanote komut dosyasını tekrar çalıştırın:

cd /home/leanote/leanote/bin
bash run.sh

Şimdi, favori web tarayıcınızın üzerine gelin http://leanote.example.com/ve HTTPSprotokolün otomatik olarak etkinleştirildiğini göreceksiniz . Daha adminönce ayarladığınız yeni şifreyle kullanıcı olarak oturum açmanız veya ekip işbirliği için yeni kullanıcı hesapları kaydetmeniz yeterlidir.

Yine, Leanote komut dosyasını durdurmak için CTRL+ tuşuna basın C. Bu betiği daha sonra daemonize edeceğiz.

Adım 9: wkhtmltopdfProgramı yükleyin

Leanote, wkhtmltopdfHTML sayfalarını PDF dosyaları olarak dışa aktarmak için programı kullanmayı seçer . Kurulum wkhtmltopdf:

cd
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall -y wkhtmltox-0.12.5-1.centos7.x86_64.rpm
which wkhtmltopdf

Göndermek için unutmayın wkhtmltopdfikili yolunu /usr/local/bin/wkhtmltopdfyılında Export PDFLeanote tekrar çalışır durumda olduğu zaman Leanote web yönetici gösterge tablosunda bölüm.

Not: Dışa aktarılan PDF dosyalarında okunamayan karakterler bulursanız, /usr/share/fonts/dizine gerekli yazı tipi dosyalarını ekleyerek sorunu gidermeyi deneyebilirsiniz .

Adım 10: Leanote betiğini çalışır durumda tutmak için Yönetici kullanın

Leanote sitenizi çevrimiçi tutmak için Süpervizör yardımcı programını kullanarak çökerse Leanote komut dosyasını otomatik olarak başlatabilirsiniz.

Süpervizörü YUM kullanarak kurun:

sudo yum install -y supervisor

.iniLeanote için basit bir Yönetici dosyası oluşturun:

cat <<EOF | sudo tee /etc/supervisord.d/leanote.ini
[program:leanote]
command=bash /home/leanote/leanote/bin/run.sh
directory=/home/leanote/leanote/bin/
priority=999
autostart=true
autorestart=true
user=leanote
redirect_stderr=true
EOF

Süpervizör hizmetinin yanı sıra Leanote hizmetini başlatın:

sudo supervisord -c /etc/supervisord.conf

Leanote hizmetinin durumunu onaylayın:

sudo supervisorctl status leanote

Çıktı aşağıdakine benzer:

leanote                          RUNNING   pid 3707, uptime 0:02:36

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

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 Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

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.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

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

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

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.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

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.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.