Parakushtet
Instaloni Java
Instaloni PostgreSQL
Instaloni dotCMS
Konfiguro Systemd
Konfiguro përfaqësuesin e kundërt
DotCMS është një sistem menaxhimi i përmbajtjes me burim të hapur, të nivelit të ndërmarrjes, i shkruar në Java. Ai përmban pothuajse çdo veçori të nevojshme për të krijuar një faqe interneti për biznesin tuaj. Ai ofron një API RESTful për t'u integruar me shërbime të tjera si CRM, aplikacione celulare dhe më shumë. Ai përdor Elasticsearch për indeksimin në kohë reale të përmbajtjes dhe Redis për zbatimin e një cache me shumë nivele.
Parakushtet
- Një shembull i serverit Vultr Ubuntu 16.04.
- Një përdorues sudo .
- Një emër domaini i drejtuar drejt serverit.
Për këtë tutorial, ne do të përdorim 192.168.0.1 si adresën IP publike dhe cms.example.com si emrin e domenit të drejtuar drejt shembullit Vultr. Ju lutemi sigurohuni që të zëvendësoni të gjitha shfaqjet e emrit të domenit shembull dhe adresës IP publike me atë aktuale.
Përditësoni sistemin tuaj bazë duke përdorur udhëzuesin Si të përditësoni Ubuntu 16.04 . Pasi sistemi juaj të jetë përditësuar, vazhdoni të instaloni Java.
Instaloni Java
Shtoni depon e Ubuntu për Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Instaloni Java.
sudo apt -y install oracle-java8-installer
Ju do të jeni në gjendje të verifikoni versionin e Java.
java -version
Do të shihni daljen e mëposhtme.
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)
Vendosni shtegun e paracaktuar për Java duke instaluar paketën e mëposhtme.
sudo apt -y install oracle-java8-set-default
Mund të verifikoni që JAVA_HOMEështë vendosur.
echo $JAVA_HOME
Ju duhet të shihni sa vijon.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Nëse nuk shihni fare dalje, do t'ju duhet të dilni nga guaska aktuale dhe të identifikoheni përsëri.
Instaloni PostgreSQL
Si parazgjedhje, dotCMS është konfiguruar për të përdorur motorin e bazës së të dhënave H2. Motori i bazës së të dhënave H2 është një motor i bazës së të dhënave të sheshtë i bazuar në skedarë. Nuk rekomandohet të përdoret në prodhim. Në këtë tutorial, ne do të përdorim serverin PostgreSQL për të ruajtur bazën e të dhënave dotCMS.
PostgreSQL është një sistem bazë të dhënash objekt-relativ, i njohur për qëndrueshmërinë dhe shpejtësinë e tij. Depoja e parazgjedhur e Ubuntu përmban një version të vjetër të PostgreSQL, kështu që shtoni depon e 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
Instaloni serverin e bazës së të dhënave PostgreSQL.
sudo apt -y install postgresql
Nisni serverin PostgreSQL dhe aktivizoni atë të fillojë automatikisht në kohën e nisjes.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Ndryshoni fjalëkalimin për përdoruesin e paracaktuar të PostgreSQL.
sudo passwd postgres
Identifikohu si përdorues i PostgreSQL.
sudo su - postgres
Krijo një përdorues të ri PostgreSQL për dotCMS.
createuser dotcms
PostgreSQL siguron psql shell për të ekzekutuar pyetje në serverin e bazës së të dhënave. Kalo në shell PostgreSQL.
psql
Vendosni një fjalëkalim për përdoruesin e sapokrijuar për bazën e të dhënave dotCMS.
ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';
Zëvendësoni fjalëkalimin e përdoruesit të bazës së të dhënave DBPassword me një fjalëkalim të sigurt.
Krijo një bazë të dhënash të re për instalimin e dotCMS.
CREATE DATABASE dotcms OWNER dotcms;
Dalje nga psql guaska.
\q
Kalo te sudo përdoruesi.
exit
Instaloni dotCMS
Shkarkoni arkivin e dotCMS.
wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.3.2.tar.gz
Mund ta gjeni gjithmonë lidhjen për versionin më të fundit të aplikacionit në faqen e shkarkimit të dotCMS .
Krijo një direktori të re për të ruajtur skedarët dotCMS dhe për t'i nxjerrë ato në të.
sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms
Hapni skedarin e konfigurimit të bazës së të dhënave.
cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml
Gjeni H2 bllokun.
<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
Komentoni të gjithë H2 seksionin duke lëvizur kufizuesin e komenteve --> nga fillimi i seksionit në fund të seksionit. Duhet të duket si më poshtë.
<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->
Çkomentoni seksionin PostgreSQL duke hequr ndarësin e komenteve --> nga fundi i seksionit dhe duke e vendosur atë në mbështjellësin e sipërm POSTGRESQL. Gjithashtu, gjeni username= dhe password= zëvendësoni vlerat ekzistuese me emrin e përdoruesit dhe fjalëkalimin e përdoruesit tuaj të bazës së të dhënave PostgreSQL. Nëse keni përdorur një emër të bazës së të dhënave të ndryshme nga dotcms, atëherë do t'ju duhet të ndryshoni emrin e bazës së të dhënave në url=. Pasi të konfigurohet, blloku PostgreSQL në skedar do të duket si më poshtë.
<!-- 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" />
Jepni lejen e ekzekutimit për të gjithë skedarët e ekzekutueshëm.
sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh
DotCMS tani është instaluar në serverin tuaj. Për të ekzekutuar menjëherë aplikacionin, ekzekutoni sa më poshtë.
cd /opt/dotcms
sudo bin/startup.sh
Ju do të shihni daljen e mëposhtme kur serveri të ketë nisur me sukses.
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.
Komanda e mësipërme do të nisë serverin ueb Tomcat për të shërbyer aplikacionin në port 8080.
Open your favorite browser and browse to http://192.168.0.1:8080. You will see that the application is running a demo website. If you do not see your website, please wait as the first startup of the dotCMS server takes five to ten minutes as it writes data into the PostgreSQL database and builds the cache. You can also check the startup logs.
tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log
The dotCMS server can be started directly using the startup script provided in the installer package. As a matter of convenience, you should set up a Systemd unit file for the dotCMS server. This will ensure that the application server is automatically started on system restart and failures.
Stop the running dotCMS server using the shutdown script.
sudo bin/shutdown.sh
Create an unprivileged user for running the dotCMS server, for security reasons.
sudo adduser --home /opt/dotcms -gecos "dotCMS User" --disabled-password --disabled-login dotcms
Provide ownership of the files to the dotCMS user.
sudo chown -R dotcms:dotcms /opt/dotcms
Krijo një shërbim të ri Systemd.
sudo nano /etc/systemd/system/dotcms.service
Plotësoni skedarin.
[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
Nisni aplikacionin dhe aktivizoni që të fillojë automatikisht në kohën e nisjes.
sudo systemctl start dotcms
sudo systemctl enable dotcms
Sigurohuni që shërbimi të funksionojë.
sudo systemctl status dotcms
Si parazgjedhje, serveri dotCMS dëgjon në port 8080. Ne do të konfigurojmë Nginx si përfaqësuesin e kundërt në mënyrë që aplikacioni të mund të aksesohet nëpërmjet standardit HTTP dhe HTTPS porteve. Ne gjithashtu do të konfigurojmë Nginx për të përdorur SSL-në e krijuar me Let's Encrypt.
Instaloni Nginx.
sudo apt -y install nginx
Nisni Nginx dhe aktivizoni që të fillojë automatikisht në kohën e nisjes.
sudo systemctl start nginx
sudo systemctl enable nginx
Shtoni depon e Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Instaloni Certbot, i cili është aplikacioni i klientit për Let's Encrypt CA.
sudo apt -y install certbot
Shënim: Për të marrë certifikata nga Let's Encrypt CA, domeni për të cilin do të krijohen certifikatat duhet të drejtohet drejt serverit. Nëse jo, bëni ndryshimet e nevojshme në të dhënat DNS të domenit dhe prisni që DNS të përhapet përpara se të bëni përsëri kërkesën për certifikatë. Certbot kontrollon autoritetin e domenit përpara se të japë certifikatat.
Gjeneroni certifikatat SSL.
sudo certbot certonly --webroot -w /var/www/html -d cms.example.com
Certifikatat e krijuara ka të ngjarë të ruhen në /etc/letsencrypt/live/cms.example.com/. Le të Enkriptojmë certifikatat skadojnë për 90 ditë, prandaj rekomandohet të konfiguroni rinovimin automatik të certifikatave duke përdorur Cron jobs.
Hapni skedarin e punës cron.
sudo crontab -e
Shtoni rreshtin e mëposhtëm në fund të skedarit.
30 5 * * * /usr/bin/certbot renew --quiet
Puna e mësipërme e cron do të funksionojë çdo ditë në orën 5:30 të mëngjesit. Nëse certifikata duhet të skadojë, ajo do të rinovohet automatikisht.
Krijo një skedar të ri të bllokut të serverit për sitin dotCMS.
sudo nano /etc/nginx/sites-available/dotcms
Plotësoni skedarin.
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;
}
}
Aktivizoni konfigurimin.
sudo ln -s /etc/nginx/sites-available/dotcms /etc/nginx/sites-enabled/dotcms
Rinisni serverin e internetit Nginx në mënyrë që ndryshimet të hyjnë në fuqi.
sudo systemctl restart nginx
Aplikacioni dotCMS është instaluar tani në serverin tuaj për përdorim prodhimi. Hyni në panelin e kontrollit administrativ në adresën e mëposhtme.
https://cms.example.com/dotAdmin
Hyni duke përdorur llogarinë fillestare të administratorit admin@dotcms.com dhe fjalëkalimin admin. Ndryshoni fjalëkalimin e paracaktuar menjëherë pas hyrjes.
Urime, sistemi i menaxhimit të përmbajtjes dotCMS është instaluar tani në serverin tuaj. Ju mund të modifikoni faqen demo ose mund të filloni të ndërtoni faqen tuaj nga e para.