如何在Debian 9 LAMP VPS上安装October 1.0 CMS
使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)
DotCMS是用Java编写的开源企业级内容管理系统。它几乎包含为您的企业创建网站所需的所有功能。它提供了RESTful API,可与其他服务(例如CRM,移动应用程序等)集成。它使用Elasticsearch来对内容进行实时索引,并使用Redis来实现多层缓存。
在本教程中,我们将使用 192.168.0.1
公共IP地址和 cms.example.com
指向Vultr实例的域名。请确保将所有示例域名和公共IP地址替换为实际的域名和公共IP地址。
使用指南如何更新Ubuntu 16.04更新基本系统 。系统更新后,继续安装Java。
添加适用于Oracle Java 8的Ubuntu存储库。
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
安装Java。
sudo apt -y install oracle-java8-installer
您将能够验证Java的版本。
java -version
您将看到以下输出。
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)
通过安装以下软件包来设置Java的默认路径。
sudo apt -y install oracle-java8-set-default
您可以验证JAVA_HOME
已设置。
echo $JAVA_HOME
您应该看到以下内容。
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
如果您根本看不到任何输出,则需要从当前shell注销并重新登录。
默认情况下,dotCMS配置为使用H2数据库引擎。H2数据库引擎是基于平面文件的数据库引擎。不建议在生产中使用。在本教程中,我们将使用PostgreSQL服务器存储dotCMS数据库。
PostgreSQL是一个对象关系数据库系统,以其稳定性和速度而闻名。默认的Ubuntu存储库包含旧版本的PostgreSQL,因此请添加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
安装PostgreSQL数据库服务器。
sudo apt -y install postgresql
启动PostgreSQL服务器,并使其在启动时自动启动。
sudo systemctl start postgresql
sudo systemctl enable postgresql
更改默认PostgreSQL用户的密码。
sudo passwd postgres
以PostgreSQL用户身份登录。
sudo su - postgres
为dotCMS创建一个新的PostgreSQL用户。
createuser dotcms
PostgreSQL提供了psql
在数据库服务器上运行查询的 外壳。切换到PostgreSQL shell。
psql
为dotCMS数据库的新创建的用户设置密码。
ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';
用DBPassword
安全密码替换数据库用户 密码。
为dotCMS安装创建一个新数据库。
CREATE DATABASE dotcms OWNER dotcms;
从psql
外壳退出 。
\q
切换到 sudo
用户。
exit
下载dotCMS存档。
wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.3.2.tar.gz
您始终可以在dotCMS下载页面上找到该应用程序最新版本的链接 。
创建一个新目录来存储dotCMS文件并将其解压缩到其中。
sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms
打开数据库配置文件。
cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml
找到 H2
块。
<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
H2
通过将注释定界符-->
从该节的开头移到该���的末尾,以注释掉 整个 节。它应该如下所示。
<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->
通过-->
从部分末尾删除注释定界符并将其放在顶部包装中, 取消对PostgreSQL部分的注释 POSTGRESQL
。此外,发现 username=
并 password=
与您的PostgreSQL数据库用户的用户名和密码替换现有的值。如果您使用的数据库名称不是 dotcms
,则需要在中更改数据库名称 url=
。配置完成后,文件中的PostgreSQL块将如下所示。
<!-- 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" />
提供所有可执行文件的执行权限。
sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh
DotCMS现在已安装在您的服务器上。要立即运行该应用程序,请执行以下操作。
cd /opt/dotcms
sudo bin/startup.sh
服务器成功启动后,您将看到以下输出。
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.
上面的命令将启动Tomcat Web服务器以在port上为应用程序提供服务 8080
。
打开您喜欢的浏览器并浏览到 http://192.168.0.1:8080
。您将看到该应用程序正在运行一个演示网站。如果看不到您的网站,请稍候,因为dotCMS服务器的第一次启动需要五到十分钟,因为它将数据写入PostgreSQL数据库并建立缓存。您还可以检查启动日志。
tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log
可以使用安装程序包中提供的启动脚本直接启动dotCMS服务器。为了方便起见,您应该为dotCMS服务器设置一个Systemd单位文件。这将确保在系统重新启动和出现故障时自动启动应用程序服务器。
使用关闭脚本停止正在运行的dotCMS服务器。
sudo bin/shutdown.sh
出于安全原因,创建一个非特权用户来运行dotCMS服务器。
sudo adduser --home /opt/dotcms -gecos "dotCMS User" --disabled-password --disabled-login dotcms
向dotCMS用户提供文件的所有权。
sudo chown -R dotcms:dotcms /opt/dotcms
创建一个新的Systemd服务。
sudo nano /etc/systemd/system/dotcms.service
填充文件。
[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
启动应用程序,并使其能够在启动时自动启动。
sudo systemctl start dotcms
sudo systemctl enable dotcms
确保服务正在运行。
sudo systemctl status dotcms
默认情况下,dotCMS服务器在port上侦听 8080
。我们将Nginx配置为反向代理,以便可以通过标准HTTP
和 HTTPS
端口访问应用程序。我们还将Nginx配置为使用“让我们加密”生成的SSL。
安装Nginx。
sudo apt -y install nginx
启动Nginx并使它能够在启动时自动启动。
sudo systemctl start nginx
sudo systemctl enable nginx
添加Certbot存储库。
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
安装Certbot,这是Let's Encrypt CA的客户端应用程序。
sudo apt -y install certbot
注意: 要从Let's Encrypt CA获得证书,必须为其生成证书的域指向服务器。如果不是,请对域的DNS记录进行必要的更改,并在再次发出证书请求之前,等待DNS传播。Certbot在提供证书之前会检查域权限。
生成SSL证书。
sudo certbot certonly --webroot -w /var/www/html -d cms.example.com
生成的证书可能存储在中 /etc/letsencrypt/live/cms.example.com/
。让我们加密证书的有效期限为90天,因此建议使用Cron作业设置证书的自动续订。
打开cron作业文件。
sudo crontab -e
在文件末尾添加以下行。
30 5 * * * /usr/bin/certbot renew --quiet
上面的cron作业每天凌晨5:30运行。如果证书到期,它将自动更新。
为dotCMS站点创建一个新的服务器阻止文件。
sudo nano /etc/nginx/sites-available/dotcms
填充文件。
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;
}
}
激活配置。
sudo ln -s /etc/nginx/sites-available/dotcms /etc/nginx/sites-enabled/dotcms
重新启动Nginx Web服务器,以使更改生效。
sudo systemctl restart nginx
现在,dotCMS应用程序已安装在服务器上以用于生产。访问以下地址上的管理仪表板。
https://cms.example.com/dotAdmin
使用初始管理员帐户 [email protected]
和密码登录admin
。登录后立即更改默认密码。
恭喜,您的服务器上现已安装了dotCMS内容管理系统。您可以修改演示站点,也可以从头开始构建站点。
使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)
使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示
使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何
使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有
使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。
使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比
使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示
使用其他系统?WonderCMS是用PHP编写的开源,快速,小型平面文件CMS。WonderCMS源代码托管在Github上。本指南将
使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)
在本教程中,我们将使用反向代理来设置Web服务器。我们将使用的CMS是Keystone.js,这是众所周知的Web应用程序框架
使用其他系统?Bludit是一个用PHP编写的简单,快速且灵活的博客CMS。Bludit使用JSON格式的文件来存储内容,因此您不必
MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:
使用其他系统?Couch CMS是一个简单,灵活,免费和开源的内容管理系统(CMS),可让Web设计人员进行设计
使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)
使用其他系统?Couch CMS是一个简单,灵活,免费和开源的内容管理系统(CMS),可让Web设计人员进行设计
使用其他系统?ProcessWire CMS 3.0是一个简单,灵活,功能强大,免费和开源的内容管理系统(CMS)。ProcessWire CMS 3。
使用其他系统?PyroCMS是用PHP编写的开源CMS。PyroCMS源代码托管在GitHub上。在本指南中,请仔细阅读整个条目
使用其他系统?BlogoText CMS是一个简单,轻便,免费和开源的内容管理系统(CMS)和极简博客引擎
使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有
使用其他系统?Redaxscript 3.2 CMS是一款现代,超轻量级,免费和开源的内容管理系统(CMS),具有火箭fas
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息
大數據的13個商業數據提取工具
我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true
隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。
洞察 26 種大數據分析技術:第 1 部分
過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。