Bir Vultr Bulut Sunucusuna pfSense Kurulumu
pfSense, ağlarına geniş bir özellik yelpazesi eklemek isteyen sistem yöneticileri için ideal bir araçtır. Öncelikle açık kaynaklı
NodeBB , Node.js tabanlı bir forum yazılımıdır. Anlık etkileşimler ve gerçek zamanlı bildirimler için web soketlerini kullanır. NodeBB kaynak kodu genel barındırılan Github . Bu kılavuz Node.js, veritabanı olarak MongoDB, ters proxy olarak Nginx ve SSL sertifikaları için Acme.sh kullanarak yeni bir FreeBSD 12 Vultr örneğinde NodeBB kurulum işleminde size yol gösterecektir.
NodeBB için aşağıdaki yazılımların yüklenmesi gerekir:
A
/ AAAA
Kayıtlar ayarlanmış alan adıFreeBSD sürümünü kontrol edin.
uname -ro
# FreeBSD 12.0-RELEASE
FreeBSD sisteminizin güncel olduğundan emin olun.
freebsd-update fetch install
pkg update && pkg upgrade -y
Sisteminizde yoksa gerekli paketleri kurun.
pkg install -y sudo vim unzip wget git bash socat gcc8 pkgconf vips
Tercih ettiğiniz kullanıcı adıyla yeni bir kullanıcı hesabı oluşturun (kullanacağız johndoe
).
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!
Grup üyelerinin herhangi bir komutu yürütmesine izin vermek için visudo
komutu çalıştırın ve %wheel ALL=(ALL) ALL
satırı kaldırın wheel
.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Şimdi ile yeni oluşturulan kullanıcınıza geçin su
.
su - johndoe
NOT: Kullanıcı adınızla değiştirin johndoe
.
Saat dilimini ayarlayın.
sudo tzsetup
NodeBB, Node.js tarafından yönlendirilir ve bu nedenle yüklenmesi gerekir. Node.js'nin geçerli LTS sürümünün yüklenmesi önerilir.
Node.js ve npm'yi yükleyin.
sudo pkg install -y node10 npm-node10
Sürümleri kontrol edin.
node -v && npm -v
# v10.15.3
# 6.9.0
MongoDB, NodeBB için varsayılan veritabanıdır.
MongoDB'yi yükleyin.
sudo pkg install -y mongodb40
Versiyonu kontrol et.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v4.0.6
# db version v4.0.6
MongoDB'yi etkinleştirin ve başlatın.
sudo sysrc mongod_enable=yes
sudo service mongod start
NodeBB için bir veritabanı ve kullanıcı oluşturun.
Önce MongoDB'ye bağlanın.
mongo
Yerleşik admin
veritabanına geçin .
> use admin
Yönetici kullanıcı oluşturun.
> db.createUser( { user: "admin", pwd: "<Enter a secure password>", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
NOT: Yer tutucuyu <Enter a secure password>
seçtiğiniz şifreyle değiştirin.
Adlı yeni bir veritabanı ekleyin nodebb
.
> use nodebb
Veritabanı oluşturulacak ve bağlam değiştirilecek nodebb
. Ardından nodebb
kullanıcıyı uygun ayrıcalıklarla oluşturun.
> db.createUser( { user: "nodebb", pwd: "<Enter a secure password>", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
NOT: Yine, yer tutucuyu <Enter a secure password>
kendi seçtiğiniz şifreyle değiştirin.
Mongo kabuğundan çıkın.
> quit()
MongoDB'yi yeniden başlatın ve daha önce oluşturulan yönetici kullanıcının bağlanabildiğinden emin olun.
sudo service mongod restart
mongo -u admin -p your_password --authenticationDatabase=admin
Nginx'i yükleyin.
sudo pkg install -y nginx
Versiyonu kontrol et.
nginx -v
# nginx version: nginx/1.14.2
Nginx'i etkinleştirin ve başlatın.
sudo sysrc nginx_enable=yes
sudo service nginx start
NodeBB varsayılan olarak bağlantı noktasında çalışır 4567
. Yazmayı önlemek http://example.com:4567
için, Nginx'i NodeBB uygulaması için ters proxy olarak yapılandıracağız. Bağlantı noktasındaki 80
veya 443
SSL kullanılıyorsa her istek bağlantı noktasına yönlendirilir 4567
.
sudo vim /usr/local/etc/nginx/nodebb.conf
Aşağıdaki temel ters proxy yapılandırmasıyla çalıştırın ve doldurun.
server {
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
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 $scheme;
proxy_set_header Host $http_host;
proxy_hide_header X-Powered-By;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Yukarıdaki yapılandırmada, server_name
yönergeyi alan adınız / ana bilgisayar adınızla güncelleyin .
Dosyayı kaydedin ve :+ W+ ile çıkın Q.
Şimdi nodebb.conf
ana nginx.conf
dosyaya eklememiz gerekiyor.
sudo vim /usr/local/etc/nginx/nginx.conf
Aşağıdaki satırı çalıştırın ve http {}
bloğa ekleyin .
include nodebb.conf;
Yapılandırmayı kontrol edin.
sudo nginx -t
Nginx'i yeniden yükleyin.
sudo service nginx reload
Forumunuzu HTTPS ile güvenli hale getirmek gerekli değildir, ancak sitenizin trafiğini güvenli hale getirecektir. Acme.sh sıfır bağımlılık ile Let's Encrypt SSL sertifikaları almak için saf bir unix kabuk yazılımıdır.
Acme.sh dosyasını indirin ve yükleyin.
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
Versiyonu kontrol et.
/etc/letsencrypt/acme.sh --version
# v2.8.1
İçin RSA ve ECDSA sertifikaları alın forum.example.com
.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo service nginx reload" --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo service nginx reload" --keylength ec-256
Yukarıdaki komutları çalıştırdıktan sonra sertifikalarınız ve anahtarlarınız şurada olacaktır:
/etc/letsencrypt/forum.example.com
./etc/letsencrypt/forum.example.com_ecc
.Let's Encrypt'ten sertifika aldıktan sonra, bunları kullanmak için Nginx'i yapılandırmamız gerekir.
sudo vim /usr/local/etc/nginx/nodebb.conf
Tekrar çalıştırın ve Nginx'i HTTPS ters proxy olarak yapılandırın.
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
# RSA
ssl_certificate /etc/letsencrypt/forum.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com/forum.example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/forum.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com_ecc/forum.example.com.key;
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 $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Yapılandırmayı kontrol edin.
sudo nginx -t
Nginx'i yeniden yükleyin.
sudo service nginx reload
Bir belge kök dizini oluşturun.
sudo mkdir -p /usr/local/www/nodebb
/usr/local/www/nodebb
Dizinin sahipliğini olarak değiştirin johndoe
.
sudo chown -R johndoe:johndoe /usr/local/www/nodebb
Belge kök klasörüne gidin.
cd /usr/local/www/nodebb
En son NodeBB'yi belge kök klasörüne kopyalayın.
git clone -b v1.11.x https://github.com/NodeBB/NodeBB.git .
NodeBB kurulum komutunu çalıştırın ve istendiğinde her soruyu cevaplayın.
./nodebb setup
NodeBB kurulumu tamamlandıktan sonra ./nodebb start
, NodeBB sunucunuzu manuel olarak başlatmak için çalıştırın .
./nodebb start
Bu komuttan sonra, bir web tarayıcısında NodeBB forum örneğinize erişebileceksiniz.
Aracılığıyla ./nodebb start
başlatıldığında, sistem yeniden başlatıldığında NodeBB otomatik olarak yeniden başlamaz. Bundan kaçınmak için NodeBB'yi bir sistem hizmeti olarak ayarlamamız gerekecek.
Çalışıyorsa, NodeBB'yi durdurun.
./nodebb stop
PM2'yi global olarak yükleyin.
sudo npm install pm2 -g
Versiyonu kontrol et.
pm2 -v
# 3.5.0
NodeBB belge köküne gidin.
cd /usr/local/www/nodebb
NodeBB'yi PM2 üzerinden başlatın.
pm2 start app.js
NodeBB işlemini listeleyin.
pm2 ls
Mevcut init sistemini tespit edin.
pm2 startup
Başlangıç kancanızı ayarlamak için bu komutun çıkışını kopyalayıp CLI'ye yapıştırın.
İşlem listenizi kaydedin.
pm2 save
Bu kadar. NodeBB örneğiniz şimdi çalışıyor.
pfSense, ağlarına geniş bir özellik yelpazesi eklemek isteyen sistem yöneticileri için ideal bir araçtır. Öncelikle açık kaynaklı
Farklı Bir Sistem mi Kullanıyorsunuz? LimeSurvey PHP ile yazılmış açık kaynaklı bir anket yazılımıdır. LimeSurvey kaynak kodu GitHubda barındırılıyor. Bu kılavuz size
Gereksinimler UNIX hakkında temel bilgiler. Nginx yüklü FreeBSD x64. Araçları Yükleme FreeBSD ile birlikte gönderilmeyen birkaç programa ihtiyacınız olacaktır. Ru
Farklı Bir Sistem mi Kullanıyorsunuz? Automad, PHPde yazılmış açık kaynaklı bir dosya tabanlı içerik yönetim sistemidir (CMS) ve şablon motorudur. Automad kaynak kodu i
Farklı Bir Sistem mi Kullanıyorsunuz? X-Cart, tonlarca özellik ve entegrasyona sahip son derece esnek bir açık kaynaklı e-ticaret platformudur. X-Cart kaynak kodu aceleci
Giriş WordPress, internet üzerindeki baskın içerik yönetim sistemidir. Bloglardan dinamik içeriğe sahip karmaşık web sitelerine kadar her şeyi güçlendirir
Murmur, Mumble sesli iletişim protokolü için resmi sunucu yazılımıdır. Bu resmi uygulama istikrarlı ve etkilidir. Bu kılavuz
Linuxtaki bir LEMP yığını ile karşılaştırılabilir bir FEMP yığını, bir FreeBSyi etkinleştirmek için genellikle birlikte yüklenen bir açık kaynaklı yazılım koleksiyonudur
Bu eğitici, FreeBSD sunucunuzu OpenBSD PF güvenlik duvarını kullanarak nasıl koruyacağınızı gösterecektir. Dağıtılmış temiz bir FreeBSD kurulumunuz olduğunu varsayacağız b
Farklı Bir Sistem mi Kullanıyorsunuz? Cachet PHP ile yazılmış açık kaynaklı bir durum sayfası sistemidir. Cachet için kaynak kodu GitHubda barındırılıyor. Bu kılavuzda,
Farklı Bir Sistem mi Kullanıyorsunuz? WonderCMS, PHPde yazılmış açık kaynaklı, hızlı ve küçük bir düz dosya CMSdir. WonderCMS kaynak kodu Githubda barındırılmaktadır. Bu kılavuz
Farklı Bir Sistem mi Kullanıyorsunuz? TLS 1.3, 2018de RFC 8446da önerilen bir standart olarak yayınlanan Taşıma Katmanı Güvenliği (TLS) protokolünün bir sürümüdür
Vernik, bir web sunucusundan içerik depolayan açık kaynaklı bir önbellek sunucusudur. Apache veya Nginx gibi bir web sunucusunun önüne kurulur. Cachin
Farklı Bir Sistem mi Kullanıyorsunuz? Dolibarr, işletmeler için açık kaynaklı bir kurumsal kaynak planlaması (ERP) ve müşteri ilişkileri yönetimi (CRM). Dolibarr
Farklı Bir Sistem mi Kullanıyorsunuz? ProcessWire CMS 3.0 basit, esnek ve güçlü, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS). ProcessWire CMS 3.
Farklı Bir Sistem mi Kullanıyorsunuz? Matomo (eski adıyla Piwik), Google Analyticse açık bir alternatif olan açık kaynaklı bir analiz platformudur. Matomo kaynağı o barındırılıyor o
Farklı Bir Sistem mi Kullanıyorsunuz? TLS 1.3, 2018de RFC 8446da önerilen bir standart olarak yayınlanan Taşıma Katmanı Güvenliği (TLS) protokolünün bir sürümüdür
Giriş Bu eğitici, OpenSMTPD, Dovecot, Rspamd ve RainLoop kullanarak OpenBSD üzerinde çalışan tam özellikli bir e-posta sunucusunu gösterir. OpenSMTPD th
Farklı Bir Sistem mi Kullanıyorsunuz? Mailtrain, Node.js ve MySQL / MariaDB üzerine kurulmuş açık kaynaklı, kendi kendine barındırılan bir bülten uygulamasıdır. Mailtrains kaynağı GitHubda. Thi
Ghost, WordPresse rakip olan en yeni ve en büyük başlangıç. Tema geliştirme hızlı ve kolaydır, çünkü Ghost geliştiricileri
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?