Cara Pasang dotCMS di Ubuntu 16.04

DotCMS adalah sistem pengurusan kandungan sumber terbuka kelas perusahaan yang ditulis di Java. Ini mengandungi hampir setiap ciri yang diperlukan untuk membuat laman web untuk perniagaan anda. Ia menyediakan RESTful API untuk diintegrasikan dengan perkhidmatan lain seperti CRM, aplikasi mudah alih dan banyak lagi. Ia menggunakan Elasticsearch untuk pengindeksan kandungan masa nyata dan Redis untuk melaksanakan cache pelbagai peringkat.

Prasyarat

  • Contoh pelayan Vultr Ubuntu 16.04.
  • Pengguna sudo .
  • Nama domain menunjuk ke pelayan.

Untuk tutorial ini, kami akan menggunakan 192.168.0.1 sebagai alamat IP awam dan cms.example.com sebagai nama domain menunjuk ke arah Vultr. Sila pastikan untuk menggantikan semua kejadian contoh nama domain dan alamat IP awam dengan yang sebenarnya.

Kemas kini sistem asas anda menggunakan panduan Cara Kemaskini Ubuntu 16.04 . Apabila sistem anda telah dikemas kini, teruskan untuk memasang Java.

Pasang Java

Tambahkan repositori Ubuntu untuk Oracle Java 8.

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

Pasang Java.

sudo apt -y install oracle-java8-installer

Anda akan dapat mengesahkan versi Java.

java -version

Anda akan melihat output berikut.

user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

Tetapkan jalan lalai untuk Java dengan memasang pakej berikut.

sudo apt -y install oracle-java8-set-default

Anda boleh mengesahkan bahawa JAVA_HOMEia telah ditetapkan.

echo $JAVA_HOME

Anda sepatutnya melihat perkara berikut.

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

Sekiranya anda tidak melihat output sama sekali, anda perlu keluar dari shell semasa dan log masuk semula.

Pasang PostgreSQL

Secara lalai, dotCMS dikonfigurasi untuk menggunakan mesin pangkalan data H2. Enjin pangkalan data H2 adalah enjin pangkalan data berasaskan fail rata. Tidak digalakkan digunakan dalam pengeluaran. Dalam tutorial ini, kita akan menggunakan pelayan PostgreSQL untuk menyimpan pangkalan data dotCMS.

PostgreSQL adalah sistem pangkalan data hubungan objek, yang terkenal dengan kestabilan dan kepantasannya. Repositori lalai lalai mengandungi versi lama PostgreSQL, jadi tambahkan repositori PostgreSQL.

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

Pasang pelayan pangkalan data PostgreSQL.

sudo apt -y install postgresql

Mulakan pelayan PostgreSQL dan dayakannya secara automatik pada masa boot.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Tukar kata laluan untuk pengguna PostgreSQL lalai.

sudo passwd postgres

Log masuk sebagai pengguna PostgreSQL.

sudo su - postgres

Buat pengguna PostgreSQL baru untuk dotCMS.

createuser dotcms 

PostgreSQL menyediakan psql shell untuk menjalankan pertanyaan di pelayan pangkalan data. Beralih ke shell PostgreSQL.

psql

Tetapkan kata laluan untuk pengguna yang baru dibuat untuk pangkalan data dotCMS.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Ganti kata laluan pengguna pangkalan data DBPassword dengan kata laluan yang selamat.

Buat pangkalan data baru untuk pemasangan dotCMS.

CREATE DATABASE dotcms OWNER dotcms;

Keluar dari psql cangkerang.

\q

Beralih kepada sudo pengguna.

exit

Pasang dotCMS

Muat turun arkib dotCMS.

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

Anda sentiasa boleh mendapatkan pautan ke aplikasi versi terbaru di halaman muat turun dotCMS .

Buat direktori baru untuk menyimpan fail dotCMS dan ekstrak ke dalamnya.

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

Buka fail konfigurasi pangkalan data.

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

Cari H2 blok.

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

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

Komen keseluruhannya H2 dengan memindahkan pembatas komen --> dari permulaan bahagian hingga ke bahagian akhir. Ia seperti yang berikut.

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

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

Tanggalkan bahagian PostgreSQL dengan membuang pembatas komen --> dari akhir bahagian dan meletakkannya di pembungkus atas POSTGRESQL. Juga, cari username= dan password= dan gantikan nilai sedia ada dengan nama pengguna dan kata laluan pengguna pangkalan data PostgreSQL anda. Sekiranya anda telah menggunakan nama pangkalan data selain dotcms, maka anda perlu menukar nama pangkalan data url=. Setelah dikonfigurasi, blok PostgreSQL dalam fail akan kelihatan seperti berikut.

<!-- 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" />

Berikan kebenaran pelaksanaan untuk semua fail yang boleh dilaksanakan.

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

DotCMS kini dipasang pada pelayan anda. Untuk segera menjalankan aplikasi, laksanakan perkara berikut.

cd /opt/dotcms
sudo bin/startup.sh

Anda akan melihat output berikut apabila pelayan berjaya dimulakan.

user@vultr:/opt/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:        /usr
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.

Perintah di atas akan memulakan pelayan web Tomcat untuk melayani aplikasi di port 8080.

Buka penyemak imbas kegemaran anda dan semak imbas http://192.168.0.1:8080. Anda akan melihat bahawa aplikasi tersebut menjalankan laman web demo. Sekiranya anda tidak melihat laman web anda, sila tunggu kerana permulaan pertama pelayan dotCMS memerlukan masa lima hingga sepuluh minit kerana ia menulis data ke dalam pangkalan data PostgreSQL dan membina cache. Anda juga boleh menyemak log permulaan.

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

Konfigurasikan Systemd

Pelayan dotCMS boleh dimulakan secara langsung menggunakan skrip permulaan yang disediakan dalam pakej pemasang. Untuk kemudahan, anda harus menyediakan fail unit Systemd untuk pelayan dotCMS. Ini akan memastikan bahawa pelayan aplikasi dimulakan secara automatik pada sistem dan kerosakan semula.

Hentikan pelayan dotCMS menggunakan skrip penutupan.

sudo bin/shutdown.sh

Buat pengguna yang tidak bernasib baik untuk menjalankan pelayan dotCMS, atas alasan keselamatan.

sudo adduser --home /opt/dotcms -gecos "dotCMS User" --disabled-password --disabled-login dotcms

Menyediakan pemilikan fail ke pengguna dotCMS.

sudo chown -R dotcms:dotcms /opt/dotcms

Buat perkhidmatan Systemd baru.

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

Isi fail.

[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

Mulakan aplikasi dan aktifkannya secara automatik pada masa boot.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Pastikan perkhidmatan berjalan.

sudo systemctl status dotcms

Konfigurasikan Proksi Terbalik

Secara lalai, pelayan dotCMS mendengar pada port 8080. Kami akan mengkonfigurasi Nginx sebagai proksi terbalik supaya aplikasi boleh diakses melalui standard HTTP dan HTTPS port. Kami juga akan mengkonfigurasi Nginx untuk menggunakan SSL yang dihasilkan dengan Let's Encrypt.

Pasang Nginx.

sudo apt -y install nginx

Mula Nginx dan aktifkannya secara automatik pada masa boot.

sudo systemctl start nginx
sudo systemctl enable nginx

Tambah repositori Certbot.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Pasang Certbot, iaitu aplikasi klien untuk Let's Encrypt CA.

sudo apt -y install certbot

Nota: Untuk mendapatkan sijil dari Let's Encrypt CA, domain yang mana sijil yang akan dihasilkan mesti ditujukan ke pelayan. Sekiranya tidak, buat perubahan yang diperlukan pada rekod DNS domain dan tunggu DNS disebarkan sebelum membuat permintaan sijil lagi. Certbot memeriksa pihak berkuasa domain sebelum menyediakan sijil.

Menjana sijil SSL.

sudo certbot certonly --webroot -w /var/www/html -d cms.example.com

Sijil yang dijana mungkin disimpan di dalam /etc/letsencrypt/live/cms.example.com/. Mari Sulitkan sijil tamat dalam 90 hari, oleh itu disarankan untuk mengatur pembaharuan sijil secara automatik menggunakan pekerjaan Cron.

Buka fail kerja cron.

sudo crontab -e

Tambahkan garisan berikut pada akhir fail.

30 5 * * * /usr/bin/certbot renew --quiet

Pekerjaan cron di atas akan dijalankan setiap hari pada jam 5:30 pagi. Sekiranya sijil perlu tamat tempoh, ia akan diperbaharui secara automatik.

Buat fail blok pelayan baru untuk laman web dotCMS.

sudo nano /etc/nginx/sites-available/dotcms

Isi fail.

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;
    }
  }

Aktifkan konfigurasi.

sudo ln -s /etc/nginx/sites-available/dotcms /etc/nginx/sites-enabled/dotcms

Mulakan semula pelayan web Nginx supaya perubahan tersebut dapat berkuatkuasa.

sudo systemctl restart nginx

Aplikasi dotCMS kini dipasang pada pelayan anda untuk kegunaan pengeluaran. Akses papan pemuka pentadbiran pada alamat berikut.

https://cms.example.com/dotAdmin

Log masuk menggunakan akaun pentadbir awal [email protected] dan kata laluan admin. Tukar kata laluan lalai sebaik sahaja log masuk.

Tahniah, sistem pengurusan kandungan dotCMS kini dipasang di pelayan anda. Anda boleh mengubahsuai laman web demo atau mula membina laman web anda dari awal.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut