CentOS 7ye dotCMS Kurulumu

dotCMS, Java ile yazılmış açık kaynaklı, kurumsal düzeyde bir içerik yönetim sistemidir. İşletmeniz için bir web sitesi oluşturmak için gereken hemen hemen her özelliği içerir. CRM, mobil uygulamalar ve daha fazlası gibi diğer hizmetlerle entegre olmak için RESTful API sağlar. İçeriğin gerçek zamanlı indekslenmesi için Elasticsearch'ü ve çok katmanlı önbelleği uygulamak için Redis'i kullanır.

Bu makale dotCMS 4.2.2 için yazılmıştır, ancak sağlanan talimatlar daha yeni sürümler için de geçerli olabilir.

Ön şartlar

  • Bir Vultr CentOS 7 sunucusu örneği.
  • Bir sudo kullanıcısı .
  • Bir alan adı sunucuya işaret etti.

Bu eğitimde, 192.168.0.1genel IP adresi ve cms.example.comVultr örneğine işaret eden alan adı olarak kullanacağız. Lütfen örnek alan adının ve genel IP adresinin tüm tekrarlarını gerçek adla değiştirdiğinizden emin olun.

CentOS 7'yi Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendiğinde, Java'yı yüklemeye devam edin.

Java'yı yükleyin

Paket varsayılan YUM deposunda bulunduğundan OpenJDK kolayca kurulabilir.

sudo yum -y install java-1.8.0-openjdk-devel

Java doğru şekilde yüklüyse, sürümünü doğrulayabilirsiniz.

java -version

Benzer bir çıktı alırsınız.

[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

Daha ileri gidebilmemiz için, JAVA_HOMEve JRE_HOMEortam değişkenlerini ayarlamamız gerekecek . Sisteminizdeki Java yürütülebilir dosyasının mutlak yolunu bulun.

readlink -f $(which java)

Benzer bir çıktı göreceksiniz.

[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java

Şimdi JAVA_HOMEve JRE_HOMEortam değişkenlerini Java dizininin yoluna göre ayarlayın .

echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre" >> ~/.bash_profile

bash_profileDosyayı yürütün .

source ~/.bash_profile

Artık echo $JAVA_HOMEortam değişkeninin ayarlandığından emin olmak için komutu çalıştırabilirsiniz .

[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64

PostgreSQL'i yükleyin

Varsayılan olarak, dotCMS, H2 veritabanı motorunu kullanacak şekilde yapılandırılmıştır. H2 veritabanı motoru düz dosya tabanlı bir veritabanı motorudur. Üretimde kullanılması önerilmez. Bu öğreticide, dotCMS veritabanını depolamak için PostgreSQL sunucusunu kullanacağız.

PostgreSQL bir nesne-ilişkisel veritabanı sistemidir ve kararlılığı ve hızı ile bilinir. PostgreSQL'in son sürümünün deposunu sisteme ekleyin.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

PostgreSQL veritabanı sunucusunu kurun.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Veritabanını başlatın.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

PostgreSQL sunucusunu başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Varsayılan PostgreSQL kullanıcısının parolasını değiştirin.

sudo passwd postgres

Varsayılan PostgreSQL kullanıcısı olarak oturum açın.

sudo su - postgres

DotCMS için yeni bir PostgreSQL kullanıcısı oluşturun.

createuser dotcms 

PostgreSQL psql, veritabanını sorguları çalıştırmak için kabuk sağlar . PostgreSQL kabuğuna geçin.

psql

DotCMS veritabanı için yeni oluşturulan kullanıcı için bir parola belirleyin.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Veritabanı kullanıcı parolasını DBPasswordgüvenli bir parola ile değiştirin . DotCMS kurulumu için yeni bir veritabanı oluşturun.

CREATE DATABASE dotcms OWNER dotcms;

Kabuktan çıkın psql.

\q

sudoKullanıcıya geçin .

exit

DotCMS'yi yükle

DotCMS arşivini indirin.

wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.2.2.tar.gz

Uygulamanın en son sürümüne olan bağlantıyı her zaman dotCMS indirme sayfasında bulabilirsiniz .

DotCMS dosyalarını saklamak için yeni bir dizin oluşturun ve bu dizine çıkartın.

sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms

Veritabanı yapılandırma dosyasını açın.

cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml

H2Bloğu bulun .

<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

H2Bölüm -->başlangıcından bölümün sonuna kadar olan yorum sınırlayıcıyı değiştirerek bölümün tamamını yorumlayın. Aşağıdaki gibi görünmelidir.

<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->

Yorum sınırlayıcıyı -->bölümün sonundan kaldırarak ve üst sargıya yerleştirerek PostgreSQL bölümünü açın POSTGRESQL. Ayrıca, bulmak username=ve password=ve PostgreSQL veritabanı kullanıcı adı ve şifre ile mevcut değerleri değiştirin. Başka bir veritabanı adı kullandıysanız dotcms, içindeki veritabanı adını değiştirmeniz gerekir url=. Yapılandırıldıktan sonra, dosyadaki PostgreSQL bloğu aşağıdaki gibi görünmelidir.

<!-- POSTGRESQL -->
<Resource name="jdbc/dotCMSPool" auth="Container"
      type="javax.sql.DataSource"
      factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
      driverClassName="org.postgresql.Driver"
      url="jdbc:postgresql://localhost/dotcms"
      username="dotcms" password="DBPassword" maxTotal="60" maxIdle="10" maxWaitMillis="60000"
      removeAbandonedOnBorrow="true" removeAbandonedOnMaintenance="true" removeAbandonedTimeout="60" logAbandoned="true"
      timeBetweenEvictionRunsMillis="30000" validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

Tüm yürütülebilir dosyalar için yürütme izni sağlayın.

sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh

dotCMS şimdi sunucunuza yüklenmiştir. Uygulamayı hemen çalıştırmak için aşağıdakileri yürütün.

cd /opt/dotcms
sudo bin/startup.sh

Sunucu başarıyla başlatıldığında aşağıdaki çıktıyı göreceksiniz.

[user@vultr dotcms]$ sudo bin/startup.sh
Using DOTCMS_HOME = /opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT
Using DOTSERVER = dotcms
Using CATALINA_PID = /tmp/dotcms.pid
Using JAVA_OPTS =  -Djava.awt.headless=true -Xverify:none -Dfile.encoding=UTF8 -server -XX:+DisableExplicitGC -XX:MaxMetaspaceSize=512m -Xmx1G -XX:+UseG1GC -javaagent:/opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/byte-buddy-agent-1.6.12.jar -Ddotserver=dotcms
Using CATALINA_BASE:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_HOME:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_TMPDIR: /opt/dotcms/dotserver/tomcat-8.0.18/temp
Using JRE_HOME:        /
Using CLASSPATH:       /opt/dotcms/dotserver/tomcat-8.0.18/bin/bootstrap.jar:/opt/dotcms/dotserver/tomcat-8.0.18/bin/tomcat-juli.jar
Using CATALINA_PID:    /tmp/dotcms.pid
Tomcat started.

Yukarıdaki komut, uygulamayı bağlantı noktasında sunmak için Tomcat web sunucusunu başlatır 8080. DotCMS web sitesinin çalışıp çalışmadığını kontrol etmek 8080için sistem güvenlik duvarı üzerinden gerekli bağlantı noktasına izin verin .

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

Favori tarayıcınızı açın ve adresine göz atın http://192.168.0.1:8080. Uygulamanın bir demo web sitesi çalıştırdığını görmelisiniz. Web sitenizi görmüyorsanız, dotgreec sunucusunun ilk açılışının PostgreSQL veritabanına veri yazması ve önbelleği oluşturması birkaç dakika sürdüğünden lütfen bekleyin. Başlangıç ​​günlüklerini de kontrol edebilirsiniz.

tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log

Systemd hizmetini yapılandırma

DotCMS sunucusu, yükleyici paketinde sağlanan başlangıç ​​komut dosyası kullanılarak doğrudan başlatılabilir. Kolaylık olması açısından, dotCMS sunucusu için bir Systemd birim dosyası ayarlamanız gerekir. Bu, uygulama sunucusunun sistem yeniden başlatılırken ve arızalarda otomatik olarak başlatılmasını sağlar.

Kapatma komut dosyasını kullanarak çalışan dotCMS sunucusunu durdurun.

sudo bin/shutdown.sh

Güvenlik nedeniyle dotCMS sunucusunu çalıştırmak için ayrıcalıksız bir kullanıcı oluşturun.

sudo adduser -d /opt/dotcms -s /sbin/nologin dotcms

DotCMS kullanıcısına dosyaların sahipliğini sağlayın.

sudo chown -R dotcms:dotcms /opt/dotcms

Yeni bir Systemd hizmeti oluşturun.

sudo nano /etc/systemd/system/dotcms.service

Dosyayı doldurun.

[Unit]
Description=dotCMS service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/dotcms/bin/startup.sh
ExecStop=/opt/dotcms/bin/shutdown.sh
User=dotcms
Group=dotcms
Restart=always

[Install]
WantedBy=multi-user.target

Uygulamayı başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Hizmetin çalıştığından emin olun.

sudo systemctl status dotcms

Ters Proxy'yi Yapılandırma

Varsayılan olarak, dotCMS sunucusu bağlantı noktasını dinler 8080. Uygulamaya standart HTTPve HTTPSbağlantı noktaları üzerinden erişilebilmesi için Nginx'i ters proxy olarak yapılandıracağız . Ayrıca Nginx'i Let's Encrypt ücretsiz SSL ile oluşturulan SSL kullanacak şekilde de yapılandıracağız.

Nginx web sunucusunu kurun.

sudo yum -y install nginx

Web sunucusunu başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.

sudo systemctl start nginx
sudo systemctl enable nginx

Let's Encrypt CA için bir istemci uygulaması olan Certbot'u yükleyin.

sudo yum -y install certbot

Eğer sertifika isteyebilir önce, bağlantı noktalarını izin gerekecek 80ve 443ya standart HTTPve HTTPSgüvenlik duvarı üzerinden hizmet. Ayrıca, bağlantı noktası 8080artık gerekli olmadığından güvenlik duvarı özel durumları listesinden kaldırın .

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

Not: Let's Encrypt CA'dan sertifika almak için, sertifikaların oluşturulacağı etki alanı sunucuya yönlendirilmelidir. Değilse, etki alanının DNS kayıtlarında gerekli değişiklikleri yapın ve sertifika isteğini yeniden yapmadan önce DNS'nin yayılmasını bekleyin. Certbot, sertifikaları vermeden önce etki alanı yetkilisini denetler.

SSL sertifikaları oluşturun.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d cms.example.com

Oluşturulan sertifikaların depolanması muhtemeldir /etc/letsencrypt/live/cms.example.com/. Sertifikaların şifrelenmesini 90 gün içinde sona erdirelim, bu nedenle Cron işlerini kullanarak sertifikaların otomatik olarak yenilenmesi önerilir.

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. Sertifikanın geçerlilik süresi dolmuşsa, otomatik olarak yenilenir.

DotCMS sitesi için yeni bir sunucu blok dosyası oluşturun.

sudo nano /etc/nginx/conf.d/cms.example.com.conf

Dosyayı doldurun.

server {
    listen 80;
    server_name cms.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name cms.example.com;

    ssl_certificate           /etc/letsencrypt/live/cms.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/cms.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log            /var/log/nginx/dotcms.access.log;

    location / {

      proxy_set_header        Host $host;
      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_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://cms.example.com;
    }
  }

Değişikliklerin etkili olabilmesi için Nginx web sunucusunu yeniden başlatın.

sudo systemctl restart nginx

DotCMS uygulaması artık üretim kullanımı için sunucunuza yüklenmiştir. Aşağıdaki adresten yönetim panosuna erişin.

https://cms.example.com/dotAdmin

İlk yönetici hesabını kullanarak giriş yapın admin@dotcms.comve admin. Giriş yaptıktan hemen sonra varsayılan şifreyi değiştirin.

Tebrikler, dotCMS içerik yönetim sistemi artık sunucunuza yüklenmiştir. Demo sitesini değiştirebilir veya sitenizi sıfırdan oluşturmaya başlayabilirsiniz.

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.