The Rise of Machines: Real World Applications of AI
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
dotCMS er et open source enterprise grade content management system skrevet i Java. Den indeholder næsten alle de funktioner, der kræves for at oprette en hjemmeside til din virksomhed. Det giver en RESTful API til at integrere med andre tjenester såsom CRM, mobilapplikationer og mere. Den bruger Elasticsearch til realtidsindeksering af indhold og Redis til implementering af multi-tier cache.
Denne artikel er skrevet til dotCMS 4.2.2, men de medfølgende instruktioner fungerer muligvis også for nyere versioner.
Til denne vejledning vil vi bruge 192.168.0.1som den offentlige IP-adresse og cms.example.comsom domænenavnet, der pegede mod Vultr-forekomsten. Sørg for at erstatte alle forekomster af eksempeldomænenavnet og den offentlige IP-adresse med den faktiske.
Opdater dit basissystem ved hjælp af vejledningen Sådan opdaterer du CentOS 7 . Når dit system er blevet opdateret, skal du fortsætte med at installere Java.
OpenJDK kan nemt installeres, da pakken er tilgængelig i standard YUM-lageret.
sudo yum -y install java-1.8.0-openjdk-devel
Hvis Java er installeret korrekt, vil du være i stand til at bekræfte dens version.
java -version
Du vil få et lignende output.
[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)
Før vi kan gå videre, bliver vi nødt til at opsætte JAVA_HOMEog JRE_HOMEmiljøvariablerne. Find den absolutte sti til den eksekverbare Java på dit system.
readlink -f $(which java)
Du vil se et lignende output.
[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
Indstil nu JAVA_HOMEog JRE_HOMEmiljøvariablerne i henhold til stien til Java-mappen.
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
Udfør bash_profilefilen.
source ~/.bash_profile
Nu kan du køre echo $JAVA_HOMEkommandoen for at sikre, at miljøvariablen er indstillet.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
Som standard er dotCMS konfigureret til at bruge H2-databasemotoren. H2-databasemotoren er en fladfilbaseret databasemotor. Det anbefales ikke at bruge i produktionen. I denne vejledning vil vi bruge PostgreSQL-serveren til at gemme dotCMS-databasen.
PostgreSQL er et objektrelationelt databasesystem og kendt for dets stabilitet og hastighed. Tilføj lageret for den seneste udgivelse af PostgreSQL til systemet.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Installer PostgreSQL-databaseserveren.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Initialiser databasen.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Start PostgreSQL-serveren og aktiver den til at starte automatisk ved opstart.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Skift adgangskoden til standard PostgreSQL-brugeren.
sudo passwd postgres
Log ind som standard PostgreSQL-bruger.
sudo su - postgres
Opret en ny PostgreSQL-bruger til dotCMS.
createuser dotcms
PostgreSQL leverer psqlskallen til at køre forespørgsler på databaseserveren. Skift til PostgreSQL-skallen.
psql
Indstil en adgangskode for den nyoprettede bruger til dotCMS-databasen.
ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';
Erstat databasens brugeradgangskode DBPasswordmed en sikker adgangskode. Opret en ny database til dotCMS-installationen.
CREATE DATABASE dotcms OWNER dotcms;
Udgang fra psqlskallen.
\q
Skift til sudobrugeren.
exit
Download dotCMS-arkivet.
wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.2.2.tar.gz
Du kan altid finde linket til den seneste version af applikationen på dotCMS-downloadsiden .
Opret en ny mappe til at gemme dotCMS-filerne og udpakke dem ind i den.
sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms
Åbn databasens konfigurationsfil.
cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml
Find H2blokken.
<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
Kommenter hele H2sektionen ved at erstatte kommentarafgrænsningen -->fra begyndelsen af sektionen til slutningen af sektionen. Det skal se ud som følgende.
<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->
Fjern kommentarer til PostgreSQL-sektionen ved at fjerne kommentarafgrænseren -->fra slutningen af sektionen og placere den på den øverste indpakning POSTGRESQL. Find username=og password=og erstat de eksisterende værdier med brugernavnet og adgangskoden til din PostgreSQL-databasebruger. Hvis du har brugt et andet databasenavn end dotcms, så skal du ændre databasenavnet i url=. Når den er konfigureret, skal PostgreSQL-blokken i filen se ud som følgende.
<!-- 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" />
Angiv eksekveringstilladelsen for alle de eksekverbare filer.
sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh
dotCMS er nu installeret på din server. For straks at køre programmet skal du udføre følgende.
cd /opt/dotcms
sudo bin/startup.sh
Du vil se følgende output, når serveren er startet.
[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.
Ovenstående kommando starter Tomcat-webserveren for at betjene applikationen på port 8080. For at kontrollere, om dotCMS-webstedet fungerer, skal du tillade den nødvendige port 8080gennem systemets firewall.
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
Åbn din yndlingsbrowser og gå til http://192.168.0.1:8080. Du bør se, at applikationen kører et demowebsted. Hvis du ikke kan se din hjemmeside, vent venligst, da den første opstart af dotCMS-serveren tager et par minutter, da den skriver data ind i PostgreSQL-databasen og bygger cachen. Du kan også tjekke opstartsloggene.
tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log
DotCMS-serveren kan startes direkte ved hjælp af opstartsscriptet i installationspakken. For nemheds skyld bør du konfigurere en Systemd-enhedsfil til dotCMS-serveren. Dette vil sikre, at applikationsserveren automatisk startes ved systemgenstart og fejl.
Stop den kørende dotCMS-server ved hjælp af shutdown-scriptet.
sudo bin/shutdown.sh
Opret en uprivilegeret bruger til at køre dotCMS-serveren af sikkerhedsmæssige årsager.
sudo adduser -d /opt/dotcms -s /sbin/nologin dotcms
Giv ejerskab af filerne til dotCMS-brugeren.
sudo chown -R dotcms:dotcms /opt/dotcms
Opret en ny Systemd-tjeneste.
sudo nano /etc/systemd/system/dotcms.service
Udfyld filen.
[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
Start applikationen og aktiver den til automatisk at starte ved opstart.
sudo systemctl start dotcms
sudo systemctl enable dotcms
Sørg for, at tjenesten kører.
sudo systemctl status dotcms
Som standard lytter dotCMS-serveren på port 8080. Vi vil konfigurere Nginx som omvendt proxy, så applikationen kan tilgås via standard HTTPog HTTPSporte. Vi vil også konfigurere Nginx til at bruge SSL genereret med Let's Encrypt gratis SSL.
Installer Nginx-webserveren.
sudo yum -y install nginx
Start webserveren og sæt den i stand til automatisk at starte ved opstart.
sudo systemctl start nginx
sudo systemctl enable nginx
Installer Certbot, som er en klientapplikation til Let's Encrypt CA.
sudo yum -y install certbot
Før du kan anmode om certifikaterne, skal du tillade porte 80og/ 443eller standard HTTPog HTTPStjenester gennem firewallen. Fjern også porten 8080fra listen over firewall-undtagelser, da den ikke længere er påkrævet.
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
Bemærk: For at få certifikater fra Let's Encrypt CA, skal det domæne, som certifikaterne skal genereres for, pege mod serveren. Hvis ikke, skal du foretage de nødvendige ændringer i domænets DNS-poster og vente på, at DNS'en udbreder sig, før du foretager certifikatanmodningen igen. Certbot kontrollerer domæneautoriteten, før certifikaterne leveres.
Generer SSL-certifikaterne.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d cms.example.com
De genererede certifikater vil sandsynligvis blive gemt i /etc/letsencrypt/live/cms.example.com/. Lad os kryptere certifikater udløber om 90 dage, derfor anbefales det at konfigurere automatisk fornyelse af certifikaterne ved hjælp af Cron-job.
Åbn cron-jobfilen.
sudo crontab -e
Tilføj følgende linje i slutningen af filen.
30 5 * * * /usr/bin/certbot renew --quiet
Ovenstående cron-job kører hver dag kl. 5:30. Hvis certifikatet udløber, vil det automatisk blive fornyet.
Opret en ny serverblokfil til dotCMS-webstedet.
sudo nano /etc/nginx/conf.d/cms.example.com.conf
Udfyld filen.
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;
}
}
Genstart Nginx-webserveren, så ændringerne kan træde i kraft.
sudo systemctl restart nginx
DotCMS-applikationen er nu installeret på din server til produktionsbrug. Få adgang til det administrative dashboard på følgende adresse.
https://cms.example.com/dotAdmin
Log ind med den oprindelige administratorkonto, admin@dotcms.comog admin. Skift standardadgangskoden umiddelbart efter login.
Tillykke, dotCMS indholdsstyringssystemet er nu installeret på din server. Du kan ændre demo-webstedet, eller du kan begynde at bygge dit websted fra bunden.
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.
Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.
Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.
Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...
Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.
Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.
Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af dataene. Denne blog dækker udviklingen af datalagring på basis af en infografik.
I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.
For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af mac-maskiner. Læs denne artikel for at lære mere