Bir Fedora 26 LAMP VPSye Directus 6.4 CMS Yükleme
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)
Bu derste, ters proxy'li bir web sunucusu kuracağız. Kullanacağımız CMS, Express.js tabanlı iyi bilinen bir web uygulaması çerçevesi olan Keystone.js'dir. Kullanacağımız ters proxy, ücretsiz ve açık kaynaklı bir ters proxy olan Nginx ve bir HTTP sunucusudur. Kullanacağımız veritabanı, NoSQL belge veritabanı olan MongoDB'dir. Bu, kayıtların ayarlandığı bir alan adınızın olmasını gerektirir. Bu setiniz yoksa, devam edin ve bununla ilgilenin ve bu eğiticiye geri dönün.
İlk olarak, Chrome V8 Javascript motorunu temel alan bir Javascript yorumlayıcısı olan Node.js'yi yükleyeceğiz.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
Ardından, ters proxy sunucumuz Nginx'i kuracağız.
sudo apt update
sudo apt install nginx
Bu paket listelerini güncelleyecek ve Nginx'i kuracaktır. Kurulum tamamlandığında, düğüm projemizi kuracağız.
Düğüm projemizi oluşturun. Bunu yapmak için yeni bir klasör oluşturmanız yeterlidir.
mkdir website
Sonra package.json
dosyamızı yaratacağız . Bunu yapmak npm init
için terminalinizi çalıştırın , alanları doldurun ve yes
onaylamak için " " yanıtını verin . package.json
Dosyayı oluşturduktan sonra, aşağıdaki düğüm modüllerini kuracağız.
sudo npm install -g generator-keystone
sudo npm install -g yo
Bunlar indirmeyi tamamladıktan sonra aşağıdakileri çalıştırın.
yo keystone
Gerekli alanları doldurun. Bu soracaktır project name
, template engine
, email
kontrol paneli için, ve bu kadar. Ne seçeceğinizi bilmiyorsanız, varsayılanlar iyi olacaktır. Kilit taşı kurulumunuzu yapılandırdıktan sonra node keystone
, uygulamanızı başlatmak için yazarak sunucumuzun çalışıp çalışmadığını test edebiliriz . Varsayılan olarak, uygulamanız localhost
bağlantı noktasında çalışır 3000
. MongoDB yüklü değilse, bir veritabanının hemen kullanılamayacağını unutmayın. Nasıl kurulacağını daha sonra öğreticide öğrenebilirsiniz.
Keystone.js için temel dizin düzeni şunlardır:
/lib
- Burası özel kitaplıklarınızı ve diğer kodlarınızı saklayacağınız yerdir.
/models
- Bu, uygulamanızın veritabanı modellerini depolayacağınız yerdir. KeystoneJS veritabanı sağlayıcısı olarak MongoDB'yi kullanır.
/public
- Burası statik dosyalarınızın (CSS, JS, resimler vb.) Depolanacağı yerdir.
/routes/api
- Bu, uygulamanızın API denetleyicilerinin depolanacağı yerdir.
/routes.views
- Uygulama görünümü denetleyicileri burada saklanacaktır.
/templates
- Bu, uygulamanızın tüm şablon dosyalarının saklanacağı yerdir.
/updates
- Taşıma komut dosyalarınızın saklanacağı yer burasıdır.
package.json
- Bu, jeneratörün bizim için oluşturduğu npm yapılandırma dosyanızdır.
keystone.js
- Ana başlangıç dosyamız, web sitesini başlattığımızda bunu çalıştırıyoruz.
Daha önce de belirttiğimiz gibi, kullanacağımız veri tabanımız güvenilir bir NoSQL, belge yönelimli veritabanı olan MongoDB'dir. MongoDB zaten kurulu ise, bu bölümü atlayabilirsiniz. Değilse, Ubuntu 16.04'e nasıl yükleyeceğiniz aşağıda açıklanmıştır.
MongoDB paketi için kullanılan ortak anahtarı alın.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Paketi yüklemek için kullanılan liste dosyasını oluşturun.
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Kullanarak paket listelerinizi güncelleyin apt
.
sudo apt update
Son olarak, MongoDB'yi yükleyin.
sudo apt install mongodb-org -y
Bu kurulum tamamlandığında MongoDB'yi başlatın.
sudo service mongod start
Bu bağlantı noktasında MongoDB işlemini başlatır 27017
.
Uygulama boyunca MongoDB kullanılacak ve modellerimiz için kullandığımız bilgileri, örneğin bir User
modeli depolamak için kullanılacaktır . Keystone bunu tercih edilen veritabanı olarak kullanır ve şu anda diğer veritabanı satıcılarını kullanamazsınız.
Şimdi PM2 (Process Manager 2) kurulum zamanı. PM2, Node.js uygulamaları için bir npm modülü biçiminde bir süreç yöneticisidir. Uygulamalarınızı yönetmeniz ve arka planda çalıştırmanız için kolay bir yol sağlar. NPM'de olduğu için, yüklemek için tek yapmamız gereken aşağıdaki.
sudo npm install pm2 -g
Bu, npm'ye global olarak yüklemesini söyler, böylece sistemimizde herhangi bir yerde kullanabiliriz.
Daha önce web uygulamamızı çalıştırdık node keystone
. PM2 ile biraz farklı. Artık düğüm uygulamamızı aşağıdakilerle çalıştırıyoruz.
pm2 start keystone.js
Bu, PM2 uygulamamızı süreç listemize ekleyecek ve gerçekten çevrimiçi olduğunu görebilmeniz için küçük bir kutu görüntülenecektir. İşleminiz için etiketlenmiş kutuya dikkat edin id
. Daha sonra buna değineceğimiz için bunu yakın tutun.
Uygulamanızın günlüklerini görmek için.
pm2 logs [id]
Örneğin, pm2 logs 0
bu ilk PM2 uygulamanızsa.
Web uygulamanızı istediğiniz zaman durdurmak için.
pm2 stop [id]
Uygulamanızı tamamen silmek için.
pm2 delete [id]
Uygulamanızla ilgili bazı temel istatistikleri görmek istiyorsanız, PM2'nin bir izleme panosu bile vardır ve buna bununla erişebilirsiniz.
pm2 monit
Bu RAM kullanımı, CPU kullanımı ve çalışma süresi gibi bazı temel bilgileri gösterecektir.
PM2'nin sunduğu harika bir özellik watching
. Özünde, PM2 başlangıç dosyanızla aynı dizindeki dosyalarda yapılan değişiklikleri otomatik olarak algıladığında izlenir ve uygulamanızı otomatik olarak yeniden başlatır. Etkinleştirmek için uygulamanızı yeniden başlatın, ancak bir saat bayrağı iletin.
pm2 restart [id] --watch
Etkinleştirildikten sonra izlemeyi devre dışı bırakmak için aynı komutu tekrar çalıştırın; izleme devre dışı bırakılır.
Bu derste, izlemeyi bırakacağız.
Nginx'in kurulu olduğundan emin olun. Herhangi bir nedenden ötürü değilse, yukarıdaki adımlara bakın.
Güvenlik duvarı ayarlarınızı yapın. Ubuntu'da ufw
resmi güvenlik duvarı var. Varsayılan olarak bağlantılar bağlantı noktasında engellenir 80
. 80
Web uygulamamızın çalışacağı bağlantı noktasında Nginx için bir istisna eklememiz gerekiyor .
sudo ufw allow 'Nginx HTTP'
Nginx sunucunuzun çalıştığını doğrulayın.
systemctl status nginx
Active
Bölümün altında, görürseniz active (running)
, hepiniz hazırsınız. Değilse, hizmeti yeniden başlatmayı deneyebilirsiniz.
systemctl restart nginx
Varsayılan Nginx yapılandırma dosyasını silin.
sudo rm /etc/nginx/sites-available/default
Yeni bir tane oluşturun ve arayın node
.
sudo nano /etc/nginx/sites-available/node
Aşağıdakileri dosyaya yapıştırın ve example.com
web sitenizin alan adıyla değiştirin .
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
Not olduğunu proxy_pass
gösterir IP eden Keystone uygulaması olan yerel olarak çalıştığı localhost
bağlantı noktası üzerinde 3000
. listen 80
Uygulamanın yönlendirilmesini istediğimiz bağlantı noktası, bu durumda bağlantı noktası 80
.
Ardından, adlandırılmış bir klasöre bir sembolik bağlantı veya sembolik bağlantı oluşturmamız gerekir sites-enabled
. Arasındaki fark sites-enabled
ve sites-available
yani sites-enabled
aslında Nginx tarafından yüklenir.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
Şimdi içindeki yapılandırma dosyanız sites-available
kullanıma hazır olacak ve dosya yüklenecektir sites-enabled
. Yapılandırmayı yürürlüğe girecek şekilde uygulamak için Nginx'i yeniden başlatmanız yeterlidir.
sudo systemctl restart nginx
Son olarak, PM2 uygulamanızı yeniden başlatın
pm2 restart [id]
Artık alan adınıza bir tarayıcıda gidebilir ve giriş yapabileceğiniz Welcome to Keystone
bir panel içeren bir ekran görürsünüz .
Bunu görürseniz, başarıyla bir Node.js üretim web sunucusu kurdunuz. Değilse, bir adımı yanlış yapmış olabilirsiniz ve geri dönüp her adımı dikkatlice takip etmek isteyebilirsiniz.
Web sitelerini ziyaret ederek Nginx hakkında daha fazla bilgi edinebilirsiniz .
Umarım bu öğreticiyi beğenmişsinizdir ve umarım bu Vultr VPS'nizde üretim için kendi web sunucunuzu kurmanıza yardımcı olmuştur.
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? 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
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
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)
Farklı Bir Sistem mi Kullanıyorsunuz? Thelia, e-iş web siteleri oluşturmak ve PHP ile yazılmış çevrimiçi içeriği yönetmek için açık kaynaklı bir araçtır. Thelia kaynak kodu i
Farklı Bir Sistem mi Kullanıyorsunuz? Couch CMS, web tasarımcılarının tasarlamalarını sağlayan basit ve esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)
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? Ekim 1.0 CMS, Laravel çerçevesi üzerine kurulmuş basit ve güvenilir, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? Backdrop CMS 1.8.0, basit ve esnek, mobil uyumlu, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? Bolt PHP ile yazılmış açık kaynaklı bir CMSdir. Cıvata kaynak kodu GitHubda barındırılıyor. Bu kılavuz size Bolt CMnin nasıl kurulacağını gösterecektir
Farklı Bir Sistem mi Kullanıyorsunuz? Alfresco Community Edition, Alfresco İçerik Hizmetlerinin açık kaynaklı bir sürümüdür. Java ile yazılmıştır ve PostgreSQL t kullanır
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? Neos, bir CMS ve özünde bir uygulama çerçevesine sahip bir İçerik Uygulama Platformudur. Bu kılavuz size nasıl kurulum yapacağınızı gösterecektir.
Farklı Bir Sistem mi Kullanıyorsunuz? PyroCMS, PHP ile yazılmış açık kaynaklı bir CMSdir. PyroCMS kaynak kodu GitHubda barındırılmaktadır. Bu kılavuzda entir boyunca yürüyün
Farklı Bir Sistem mi Kullanıyorsunuz? Alfresco Community Edition, Alfresco İçerik Hizmetlerinin açık kaynaklı bir sürümüdür. Java ile yazılmıştır ve PostgreSQL t kullanır
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Tiki Wiki Tiki olarak da bilinen CMS Groupware, ücretsiz ve açık kaynaklı bir wiki içerik yönetim sistemidir. Tikis özelliği
Farklı Bir Sistem mi Kullanıyorsunuz? Subrion 4.1 CMS, sezgisel ve net bir içerik getiren güçlü ve esnek bir açık kaynaklı İçerik Yönetim Sistemidir (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş BoltWire, PHP ile yazılmış ücretsiz ve hafif bir içerik yönetim sistemidir. Diğer İçerik Yöneticilerinin çoğuyla karşılaştırıldığında
Farklı Bir Sistem mi Kullanıyorsunuz? Redaxscript 3.2 CMS, roket-fas ile modern ve ultra hafif, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? TextPattern CMS 4.6.2, web tasarımcılarına izin veren basit, esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)
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?
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.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun