Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS
Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który
dotCMS to otwarty system zarządzania treścią klasy korporacyjnej napisany w Javie. Zawiera prawie wszystkie funkcje wymagane do stworzenia strony internetowej dla Twojej firmy. Zapewnia interfejs API RESTful do integracji z innymi usługami, takimi jak CRM, aplikacje mobilne i inne. Wykorzystuje Elasticsearch do indeksowania treści w czasie rzeczywistym i Redis do implementacji wielowarstwowej pamięci podręcznej.
Ten artykuł został napisany dla dotCMS 4.2.2, jednak dostarczone instrukcje mogą również działać w przypadku nowszych wersji.
W tym samouczku użyjemy 192.168.0.1
jako publicznego adresu IP i cms.example.com
nazwy domeny wskazanej na instancję Vultr. Pamiętaj, aby zastąpić wszystkie wystąpienia przykładowej nazwy domeny i publicznego adresu IP faktycznym.
Zaktualizuj system podstawowy za pomocą przewodnika Jak zaktualizować CentOS 7 . Po zaktualizowaniu systemu przejdź do instalacji Java.
OpenJDK można łatwo zainstalować, ponieważ pakiet jest dostępny w domyślnym repozytorium YUM.
sudo yum -y install java-1.8.0-openjdk-devel
Jeśli Java jest poprawnie zainstalowana, będziesz mógł zweryfikować jej wersję.
java -version
Otrzymasz podobny wynik.
[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)
Zanim przejdziemy dalej, musimy skonfigurować zmienne środowiskowe JAVA_HOME
i JRE_HOME
. Znajdź bezwzględną ścieżkę do pliku wykonywalnego Java w swoim systemie.
readlink -f $(which java)
Zobaczysz podobne wyjście.
[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
Teraz ustaw zmienne środowiskowe JAVA_HOME
i JRE_HOME
zgodnie ze ścieżką do katalogu Java.
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
Uruchom bash_profile
plik.
source ~/.bash_profile
Teraz możesz uruchomić echo $JAVA_HOME
polecenie, aby upewnić się, że zmienna środowiskowa jest ustawiona.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
Domyślnie dotCMS jest skonfigurowany do korzystania z silnika bazy danych H2. Aparat bazy danych H2 jest silnikiem bazy danych opartym na plikach płaskich. Nie zaleca się stosowania w produkcji. W tym samouczku użyjemy serwera PostgreSQL do przechowywania bazy danych dotCMS.
PostgreSQL to obiektowo-relacyjny system baz danych znany ze swojej stabilności i szybkości. Dodaj repozytorium najnowszej wersji PostgreSQL do systemu.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Zainstaluj serwer bazy danych PostgreSQL.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Zainicjuj bazę danych.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Uruchom serwer PostgreSQL i włącz go automatycznie podczas uruchamiania.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Zmień hasło dla domyślnego użytkownika PostgreSQL.
sudo passwd postgres
Zaloguj się jako domyślny użytkownik PostgreSQL.
sudo su - postgres
Utwórz nowego użytkownika PostgreSQL dla dotCMS.
createuser dotcms
PostgreSQL zapewnia psql
powłokę do uruchamiania zapytań na serwerze bazy danych. Przejdź do powłoki PostgreSQL.
psql
Ustaw hasło dla nowo utworzonego użytkownika do bazy danych dotCMS.
ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';
Zastąp hasło użytkownika bazy danych DBPassword
bezpiecznym hasłem. Utwórz nową bazę danych dla instalacji dotCMS.
CREATE DATABASE dotcms OWNER dotcms;
Wyjdź ze psql
skorupy.
\q
Przejdź do sudo
użytkownika.
exit
Pobierz archiwum dotCMS.
wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.2.2.tar.gz
Zawsze możesz znaleźć link do najnowszej wersji aplikacji na stronie pobierania dotCMS .
Utwórz nowy katalog do przechowywania plików dotCMS i rozpakuj je do niego.
sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms
Otwórz plik konfiguracyjny bazy danych.
cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml
Znajdź H2
blok.
<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
Skomentuj całą H2
sekcję, zastępując ogranicznik komentarza -->
od początku sekcji do końca sekcji. Powinno to wyglądać następująco.
<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->
Odkomentuj sekcję PostgreSQL, usuwając separator komentarza -->
z końca sekcji i umieszczając go na górnym opakowaniu POSTGRESQL
. Znajdź username=
i password=
zamień istniejące wartości na nazwę użytkownika i hasło użytkownika bazy danych PostgreSQL. Jeśli użyłeś innej nazwy bazy danych dotcms
, musisz zmienić nazwę bazy danych w url=
. Po skonfigurowaniu blok PostgreSQL w pliku powinien wyglądać następująco.
<!-- 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" />
Podaj uprawnienia do wykonywania wszystkich plików wykonywalnych.
sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh
dotCMS jest teraz zainstalowany na twoim serwerze. Aby natychmiast uruchomić aplikację, wykonaj następujące czynności.
cd /opt/dotcms
sudo bin/startup.sh
Po pomyślnym uruchomieniu serwera zobaczysz następujące dane wyjściowe.
[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.
Powyższe polecenie spowoduje uruchomienie serwera WWW Tomcat w celu obsługi aplikacji na porcie 8080
. Aby sprawdzić, czy witryna internetowa dotCMS działa, należy zezwolić na wymagany port 8080
przez zaporę systemową.
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
Otwórz swoją ulubioną przeglądarkę i przejdź do http://192.168.0.1:8080
. Powinieneś zobaczyć, że aplikacja prowadzi witrynę demonstracyjną. Jeśli nie widzisz swojej witryny, poczekaj, ponieważ pierwsze uruchomienie serwera dotCMS zajmuje kilka minut, ponieważ zapisuje dane w bazie danych PostgreSQL i buduje pamięć podręczną. Możesz także sprawdzić dzienniki uruchamiania.
tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log
Serwer dotCMS można uruchomić bezpośrednio za pomocą skryptu uruchamiania dostarczonego w pakiecie instalatora. Dla wygody należy skonfigurować plik jednostki Systemd dla serwera dotCMS. Zapewni to automatyczne uruchomienie serwera aplikacji przy ponownym uruchomieniu systemu i awarii.
Zatrzymaj działający serwer dotCMS za pomocą skryptu zamykania.
sudo bin/shutdown.sh
Ze względów bezpieczeństwa utwórz nieuprzywilejowanego użytkownika do uruchamiania serwera dotCMS.
sudo adduser -d /opt/dotcms -s /sbin/nologin dotcms
Przekaż własność plików użytkownikowi dotCMS.
sudo chown -R dotcms:dotcms /opt/dotcms
Utwórz nową usługę Systemd.
sudo nano /etc/systemd/system/dotcms.service
Wypełnij plik.
[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
Uruchom aplikację i włącz automatyczne uruchamianie podczas uruchamiania.
sudo systemctl start dotcms
sudo systemctl enable dotcms
Upewnij się, że usługa jest uruchomiona.
sudo systemctl status dotcms
Domyślnie serwer dotCMS nasłuchuje na porcie 8080
. Skonfigurujemy Nginx jako zwrotny serwer proxy, aby aplikacja była dostępna za pośrednictwem standardu HTTP
i HTTPS
portów. Skonfigurujemy również Nginx do korzystania z SSL wygenerowanego za pomocą Let's Encrypt free SSL.
Zainstaluj serwer WWW Nginx.
sudo yum -y install nginx
Uruchom serwer WWW i włącz automatyczne uruchamianie się podczas uruchamiania.
sudo systemctl start nginx
sudo systemctl enable nginx
Zainstaluj Certbot, aplikację kliencką dla Let's Encrypt CA.
sudo yum -y install certbot
Zanim będziesz mógł poprosić o certyfikaty, musisz zezwolić na porty 80
i / 443
lub standard HTTP
i HTTPS
usługi za pośrednictwem zapory ogniowej. Usuń także port 8080
z listy wyjątków zapory, ponieważ nie jest już wymagany.
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
Uwaga: Aby uzyskać certyfikaty z Let's Encrypt CA, domena, dla której mają być generowane certyfikaty, musi być skierowana w stronę serwera. Jeśli nie, dokonaj niezbędnych zmian w rekordach DNS domeny i poczekaj na propagację DNS przed ponownym żądaniem certyfikatu. Certbot sprawdza urząd domeny przed podaniem certyfikatów.
Wygeneruj certyfikaty SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d cms.example.com
Wygenerowane certyfikaty prawdopodobnie będą przechowywane /etc/letsencrypt/live/cms.example.com/
. Ważność certyfikatów Let's Encrypt wygasa za 90 dni, dlatego zaleca się skonfigurowanie automatycznego odnawiania certyfikatów za pomocą zadań Cron.
Otwórz plik zadania cron.
sudo crontab -e
Dodaj następujący wiersz na końcu pliku.
30 5 * * * /usr/bin/certbot renew --quiet
Powyższe zadanie crona będzie uruchamiane codziennie o 5:30. Jeśli certyfikat wygasa, zostanie automatycznie odnowiony.
Utwórz nowy plik bloku serwera dla witryny dotCMS.
sudo nano /etc/nginx/conf.d/cms.example.com.conf
Wypełnij plik.
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;
}
}
Uruchom ponownie serwer WWW Nginx, aby zmiany mogły zostać wprowadzone.
sudo systemctl restart nginx
Aplikacja dotCMS jest teraz zainstalowana na serwerze do użytku produkcyjnego. Uzyskaj dostęp do administracyjnego pulpitu nawigacyjnego pod następującym adresem.
https://cms.example.com/dotAdmin
Zaloguj się przy użyciu początkowego konta administratora [email protected]
i admin
. Zmień domyślne hasło natychmiast po zalogowaniu.
Gratulacje, system zarządzania treścią dotCMS jest teraz zainstalowany na twoim serwerze. Możesz zmodyfikować witrynę demonstracyjną lub rozpocząć tworzenie witryny od zera.
Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który
Używasz innego systemu? TextPattern CMS 4.6.2 to prosty, elastyczny, bezpłatny i otwarty system zarządzania treścią (CMS), który umożliwia projektantom stron internetowych
Używasz innego systemu? BlogoText CMS to prosty i lekki, bezpłatny i otwarty system zarządzania treścią (CMS) oraz minimalistyczny silnik blogów
Bolt to open source CMS napisany w PHP. Kod źródłowy Bolts jest hostowany na GitHub. Ten przewodnik pokaże Ci, jak zainstalować Bolt CMS na nowym CentOS 7 Vult
Używasz innego systemu? PyroCMS to open source CMS napisany w PHP. Kod źródłowy PyroCMS jest hostowany na GitHub. W tym przewodniku również przejdź przez entir
Używasz innego systemu? Tło CMS 1.8.0 to prosty i elastyczny, przyjazny dla urządzeń mobilnych, bezpłatny i otwarty system zarządzania treścią (CMS), który pozwala nam
Używasz innego systemu? Pagekit 1.0 CMS to piękny, modułowy, rozszerzalny i lekki, bezpłatny i otwarty system zarządzania treścią (CMS) z
Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który
Używasz innego systemu? Subrion 4.1 CMS to potężny i elastyczny system zarządzania treścią typu open source (CMS), który zapewnia intuicyjny i przejrzysty kontekst
Używasz innego systemu? TextPattern CMS 4.6.2 to prosty, elastyczny, bezpłatny i otwarty system zarządzania treścią (CMS), który umożliwia projektantom stron internetowych
Używasz innego systemu? 1.0 października CMS to prosty i niezawodny, bezpłatny i otwarty system zarządzania treścią (CMS) oparty na platformie Laravel
Używasz innego systemu? DotCMS to otwarty system zarządzania treścią klasy korporacyjnej napisany w Javie. Zawiera prawie każdą wymaganą funkcję t
Używasz innego systemu? Subrion 4.1 CMS to potężny i elastyczny system zarządzania treścią typu open source (CMS), który zapewnia intuicyjny i przejrzysty kontekst
Używasz innego systemu? WonderCMS jest otwartym, szybkim i małym, płaskim plikiem CMS napisanym w PHP. Kod źródłowy WonderCMS jest hostowany na Github. Ten przewodnik wil
Używasz innego systemu? Wprowadzenie Tiki Wiki CMS Groupware, znany również jako Tiki, to darmowy system zarządzania treścią typu wiki typu open source. Funkcja Tikis
Używasz innego systemu? Wprowadzenie BoltWire to darmowy i lekki system zarządzania treścią napisany w języku PHP. W porównaniu do większości innych menedżerów treści
ApostropheCMS to nowoczesny system zarządzania treścią zbudowany na NodeJS z naciskiem na rozszerzalne narzędzia do edycji kontekstowej. W tym samouczku nauczysz się ho
Używasz innego systemu? BigTree CMS 4.2 to szybki i lekki, bezpłatny i otwarty system zarządzania treścią dla przedsiębiorstw (CMS) z rozbudowanym
Używasz innego systemu? Microweber to otwarty system CMS typu „przeciągnij i upuść” oraz sklep internetowy. Kod źródłowy Microweber jest hostowany na GitHub. Ten przewodnik pokaże ci yo
Używasz innego systemu? Directus 6.4 CMS to potężny i elastyczny, bezpłatny i otwarty system zarządzania treścią bez głowy (CMS), który zapewnia programistom
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.
13 komercyjnych narzędzi do ekstrakcji danych z Big Data
Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+
Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.
Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…
Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą
Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.