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
ERP lub Enterprise Resource Planning to pakiet aplikacji korporacyjnych służący do zarządzania podstawowymi procesami biznesowymi. ERPNext jest darmową i otwartą aplikacją ERP napisaną w języku Python. Używa Node.js dla interfejsu użytkownika i MariaDB do przechowywania danych. ERPNext zapewnia łatwy w użyciu interfejs internetowy, który pozwala firmom zarządzać codziennymi zadaniami. Zawiera moduły do księgowości, CRM, HRM, produkcji, POS, zarządzania projektami, zakupów, zarządzania sprzedażą, zarządzania magazynem i innych. ERPNext może być wykorzystywany do zarządzania różnymi branżami, takimi jak usługodawcy, producenci, sprzedawcy i szkoły.
W tym samouczku zainstalujemy ERPNext na CentOS 7.
W tym samouczku użyjemy erp.example.com
jako nazwy domeny wskazanej na serwerze. Pamiętaj, aby zastąpić wszystkie wystąpienia erp.example.com
rzeczywistą nazwą domeny.
Zaktualizuj system podstawowy, korzystając z przewodnika „ Jak zaktualizować CentOS 7 ”. Po zaktualizowaniu systemu przejdź do instalacji Pythona.
ERPNext potrzebuje Pythona w wersji 2.7 do działania. Python 2.7 jest instalowany domyślnie we wszystkich instancjach serwera CentOS. Możesz sprawdzić, czy zainstalowana wersja Pythona, uruchamiając:
python -V
Powinieneś otrzymać podobne wyjście.
[user@vultr ~]$ python -V
Python 2.7.5
Chociaż zainstalowana wersja Pythona nie jest najnowsza, działa bez żadnych problemów. Zmiana domyślnej wersji Pythona może spowodować uszkodzenie YUM.
Zainstaluj pakiety w Development tools
grupie, które są wymagane do skompilowania plików instalatora.
sudo yum groupinstall -y "Development tools"
Zainstaluj jeszcze kilka zależności:
sudo yum install -y redhat-lsb-core git python-setuptools python-devel openssl-devel libffi-devel
Zainstaluj pip
narzędzie Pythona . Pip jest menedżerem zależności dla pakietów Pythona.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Powyższe polecenie zainstaluje Pip w twoim systemie. Aby upewnić się, że masz najnowszą wersję pip
i setuptools
, uruchom:
sudo pip install --upgrade pip setuptools
Zainstaluj Ansible za pomocą Pip. Ansible automatyzuje dostarczanie oprogramowania, zarządzanie konfiguracją i wdrażanie aplikacji.
sudo pip install ansible
MariaDB to rozwidlenie serwera bazy danych MySQL. Zainstaluj MariaDB, uruchamiając.
sudo yum -y install mariadb mariadb-server mysql-devel
Do tworzenia baz danych ERPNext wymagany jest silnik pamięci Barracuda, dlatego konieczne będzie skonfigurowanie MariaDB do korzystania z silnika pamięci Barracuda. Edytuj domyślny plik konfiguracyjny MariaDB my.cnf
.
sudo nano /etc/my.cnf
Dodaj następujące linie pod symbolic-links=0
linią.
innodb-file-format=barracuda
innodb-file-per-table=1
innodb-large-prefix=1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
Uruchom MariaDB i włącz automatyczne uruchamianie podczas uruchamiania.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Przed skonfigurowaniem bazy danych musisz zabezpieczyć MariaDB. Możesz to zabezpieczyć, uruchamiając mysql_secure_installation
skrypt:
sudo mysql_secure_installation
Zostaniesz poproszony o podanie bieżącego hasła roota MariaDB. Domyślnie w MariaDB nie ma ustawionego hasła roota. Naciśnij klawisz „Enter”, aby kontynuować. Ustaw silne hasło dla użytkownika root na swoim serwerze MariaDB i odpowiedz „Y” na wszystkie pozostałe pytania. Zadane pytania są oczywiste.
Ponieważ repozytorium EPEL jest instalowane domyślnie we wszystkich instancjach Vultr CentOS 7, możesz bezpośrednio zainstalować Redis i Nginx. Ale aby zainstalować najnowszą wersję Node.js, musisz dodać repozytorium Nodesource do swojego systemu.
Dodaj repozytorium Nodesource dla Node.js 8.x.
sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
Zainstaluj Nginx, Nodejs i Redis:
sudo yum -y install nginx nodejs redis
Uruchom Nginx i włącz go w czasie uruchamiania, uruchamiając:
sudo systemctl start nginx
sudo systemctl enable nginx
Uruchom Redis i włącz uruchamianie w czasie uruchamiania, uruchamiając:
sudo systemctl start redis
sudo systemctl enable redis
wkhtmltopdf
Program jest narzędziem wiersza poleceń, które konwertuje HTML do formatu PDF za pomocą silnika renderowania QT Webkit. Zainstaluj wymagane zależności:
sudo yum -y install libXrender libXext xorg-x11-fonts-75dpi xorg-x11-fonts-Type1
Pobierz najnowszą wersję wkhtmltopdf
.
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Wyodrębnij archiwum, uruchamiając:
sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt
Powyższe polecenie wyodrębni archiwum do /opt/wkhtmltox
. Utwórz dowiązanie tak, że wkhtmltopdf
i wkhtmltoimage
mogą być wykonywane na całym świecie jako polecenie.
sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage
Możesz teraz uruchomić wkhtmltopdf -V
polecenie, aby sprawdzić, czy działa, zobaczysz:
[user@vultr ~]$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)
W tym momencie mamy zainstalowane wszystkie wymagane zależności. Możesz teraz przejść do instalacji Bench.
Bench
to narzędzie wiersza polecenia dostarczone przez Frappe do instalowania aplikacji ERPNext i zarządzania nią w systemie uniksowym, zarówno do celów programistycznych, jak i produkcyjnych. Bench może także tworzyć i zarządzać konfiguracją Nginx i superwizora.
Utwórz nowego użytkownika do uruchamiania procesów testowych w izolowanym środowisku.
sudo adduser bench -d /opt/bench
Zmień hasło użytkownika.
sudo passwd bench
Udziel sudo
uprawnień bench
użytkownikowi.
sudo usermod -aG wheel bench
Zaloguj się jako nowo utworzony bench
użytkownik:
sudo su - bench
Sklonuj repozytorium Bench w /opt/bench
:
cd /opt/bench
git clone https://github.com/frappe/bench bench-repo
Zainstaluj Bench za pomocą pip
.
sudo pip install -e bench-repo
Po zainstalowaniu Bench przejdź do instalacji ERPNext za pomocą Bench.
Zainicjuj katalog bench z zainstalowanym frappe framework. Aby wszystko było uporządkowane, będziemy pracować w /opt/bench
katalogu. Ławka będzie także konfigurować regularne kopie zapasowe i automatyczne aktualizacje raz dziennie.
cd /opt/bench
bench init erpnext && cd erpnext
Utwórz nową stronę Frappe:
bench new-site erp.example.com
Powyższe polecenie wyświetli monit o podanie hasła root MySQL. Podaj hasło ustawione wcześniej dla użytkownika root MySQL. Poprosi Cię również o ustawienie nowego hasła do konta administratora. Będziesz potrzebować tego hasła później, aby zalogować się do pulpitu administratora.
Pobierz pliki instalacyjne ERPNext ze zdalnego repozytorium git za pomocą Bench.
bench get-app erpnext https://github.com/frappe/erpnext
Zainstaluj ERPNext na nowo utworzonej stronie:
bench --site erp.example.com install-app erpnext
ERPNext jest zainstalowany na twoim serwerze. Możesz natychmiast uruchomić aplikację, aby sprawdzić, czy aplikacja została pomyślnie uruchomiona:
bench start
Należy jednak zatrzymać wykonywanie i przejść dalej, aby skonfigurować aplikację do użytku produkcyjnego.
Domyślnie aplikacja ERPNext nasłuchuje na porcie 8000, a nie na standardowym porcie HTTP 80. Ponadto nie jest zalecane uruchamianie wbudowanego serwera WWW do celów produkcyjnych, ponieważ będziemy udostępniać go światu. Dlatego powinieneś używać produkcyjnego serwera WWW jako odwrotnego proxy, takiego jak Apache lub Nginx. W tym samouczku użyjemy Nginx jako odwrotnego proxy, ponieważ można go automatycznie skonfigurować za pomocą Bench. Ławka może automatycznie wygenerować i zainstalować konfigurację zgodnie z konfiguracją ERPNext.
Chociaż możemy uruchomić aplikację za pomocą powyższego polecenia, wykonanie ERPNext zostanie zatrzymane, gdy tylko zamkniesz terminal. Aby rozwiązać ten problem, zalecam użycie Supervisora, który jest bardzo pomocny w ciągłym uruchamianiu aplikacji w środowisku produkcyjnym. Supervisor to system kontroli procesu, który umożliwia monitorowanie i kontrolowanie wielu procesów w systemach operacyjnych Linux. Po skonfigurowaniu Supervisora, aplikacja automatycznie uruchomi się w czasie rozruchu, a także w przypadku awarii. Ławka może automatycznie skonfigurować Supervisora dla aplikacji ERPNext.
Zainstaluj opiekuna:
sudo yum -y install supervisor
Uruchom Supervisora i włącz automatyczne uruchamianie się podczas uruchamiania:
sudo systemctl start supervisord
sudo systemctl enable supervisord
Ławka instalacyjna do użytku produkcyjnego:
sudo bench setup production bench
Powyższe polecenie może spowodować wyświetlenie monitu przed zastąpieniem istniejącego domyślnego pliku konfiguracyjnego Supervisor nowym plikiem. Wybierz, y
aby kontynuować. Ławka dodaje wiele procesów do pliku konfiguracyjnego Supervisor. Powyższe polecenie zapyta również, czy chcesz zastąpić bieżącą konfigurację Nginx nową. Wejdź, y
aby kontynuować. Po zakończeniu instalacji konfiguracji przez Bench, zapewnij innym użytkownikom wykonanie plików w twoim katalogu domowym użytkownika Bench.
chmod o+x /opt/bench/
Jeśli używasz zapory na swoim serwerze, musisz skonfigurować zaporę, aby ustawić wyjątek dla usługi HTTP. Pozwól, aby odwrotny serwer proxy Nginx łączył się spoza sieci.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Możesz teraz uzyskać dostęp do witryny na http://erp.example.com
.
Możesz sprawdzić status procesów, uruchamiając:
sudo supervisorctl status all
Powinieneś zobaczyć następujące dane wyjściowe:
[bench@vultr ~]$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache RUNNING pid 2554, uptime 1:06:58
erpnext-redis:erpnext-redis-queue RUNNING pid 2553, uptime 1:06:58
erpnext-redis:erpnext-redis-socketio RUNNING pid 2555, uptime 1:06:58
erpnext-web:erpnext-frappe-web RUNNING pid 2559, uptime 1:06:58
erpnext-web:erpnext-node-socketio RUNNING pid 2556, uptime 1:06:58
erpnext-workers:erpnext-frappe-default-worker-0 RUNNING pid 2549, uptime 1:06:58
erpnext-workers:erpnext-frappe-long-worker-0 RUNNING pid 2551, uptime 1:06:58
erpnext-workers:erpnext-frappe-schedule RUNNING pid 2550, uptime 1:06:58
erpnext-workers:erpnext-frappe-short-worker-0 RUNNING pid 2552, uptime 1:06:58
Aby zatrzymać wszystkie procesy ERPNext, użyj:
sudo supervisorctl stop all
Aby uruchomić wszystkie procesy ERPNext, użyj:
sudo supervisorctl start all
Let's Encrypt zapewnia użytkownikom bezpłatne certyfikaty SSL. SSL może być zainstalowany ręcznie lub automatycznie przez Bench. Bench może automatycznie zainstalować klienta Let's Encrypt i uzyskać certyfikaty. Ponadto automatycznie aktualizuje konfigurację Nginx, aby używać certyfikatów.
Nazwa domeny, której używasz do uzyskania certyfikatów z Let's Encrypt CA, musi być skierowana w stronę serwera. Klient weryfikuje urząd domeny przed wydaniem certyfikatów.
Włącz wielodostępność DNS dla aplikacji ERPNext.
bench config dns_multitenant on
Uruchom Bench, aby skonfigurować Let's Encrypt na swojej stronie:
sudo bench setup lets-encrypt erp.example.com
Podczas wykonywania skryptu klient Let's Encrypt poprosi Cię o tymczasowe zatrzymanie serwera WWW Nginx. Automatycznie zainstaluje wymagane pakiety i klienta Let's Encrypt. Klient wyświetli monit o podanie adresu e-mail. Będziesz także musiał zaakceptować warunki. Po wygenerowaniu certyfikatów Bench wygeneruje również nową konfigurację dla Nginx, która korzysta z certyfikatów SSL. Zostaniesz zapytany przed zastąpieniem istniejącej konfiguracji. Ławka tworzy również crontab
wpis, aby automatycznie odnawiać certyfikaty co miesiąc.
Na koniec włącz harmonogram, aby automatycznie uruchamiał zaplanowane zadania:
bench enable-scheduler
Powinieneś zobaczyć:
[bench@vultr erpnext]$ bench enable-scheduler
Enabled for erp.example.com
Po zakończeniu procesu możesz uzyskać dostęp do aplikacji pod adresem https://erp.example.com
. Zaloguj się, podając nazwę użytkownika Administrator
i hasło ustawione podczas instalacji. Zostaniesz przeniesiony do biurka, gdzie będziesz musiał podać informacje, aby ustawić ERPNext ERP zgodnie z twoją firmą. Możesz teraz używać aplikacji do zarządzania firmą.
Gratulacje, masz zainstalowaną w pełni działającą aplikację ERPNext na serwerze CentOS 7.
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
Podczas konfigurowania nowego serwera Linux zaleca się aktualizację jądra systemu i innych pakietów do najnowszej stabilnej wersji. W tym artykule
Wprowadzenie RethinkDB to baza danych NoSQL, która przechowuje dane jako dokumenty JSON. Ma bardzo intuicyjny język zapytań i funkcje powszechnie dostępne
Niezależnie od tego, czy chcesz umieścić zapasy sklepów online, czy po prostu prosty sklep z akcesoriami technicznymi, Magento jest doskonałym rozwiązaniem dla eCommerce online. Ten artykuł
OrientDB to wielomodowy model open source NoSQL DBMS nowej generacji. Dzięki obsłudze wielu modeli danych, OrientDB może zapewnić większą funkcjonalność i elastyczność
Neos to innowacyjny system zarządzania treścią typu open source, który doskonale nadaje się do tworzenia i edytowania treści online. Z myślą o autorach i redaktorach, Neo
Vtiger CRM to popularna aplikacja do zarządzania relacjami z klientami, która może pomóc przedsiębiorstwom zwiększyć sprzedaż, zapewnić obsługę klienta i zwiększyć zyski. ja
MaraDNS to lekki, ale solidny program serwera DNS typu open source. W porównaniu z innymi aplikacjami tego samego rodzaju, takimi jak ISC BIND, PowerDNS i djbdns
Używasz innego systemu? Netdata jest wschodzącą gwiazdą w dziedzinie monitorowania wskaźników systemowych w czasie rzeczywistym. W porównaniu z innymi narzędziami tego samego rodzaju, Netdata:
Używasz innego systemu? W tym samouczku wyjaśnię, jak skonfigurować serwer Starbound na CentOS 7. Wymagania wstępne Musisz mieć tę grę na sobie
RabbitMQ to broker komunikatów typu open source, który obsługuje AMQP, STOMP i inne technologie komunikacyjne. Jest szeroko stosowany w aplikacjach dla przedsiębiorstw
Witamy w innym samouczku Vultr. Tutaj dowiesz się, jak zainstalować i uruchomić serwer SAMP. Ten przewodnik został napisany dla CentOS 6. Wymagania wstępne Będziesz potrzebował
Używasz innego systemu? Elgg to silnik sieci społecznościowych typu open source, który umożliwia tworzenie środowisk społecznościowych, takich jak kampusowe sieci społecznościowe
RStudio Server to internetowa wersja RStudio, która jest serią narzędzi zaprojektowanych w celu ułatwienia kodowania przy użyciu języka programowania R. W thi
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
Elasticsearch to popularny wyszukiwarka pełnotekstowa i silnik analityczny typu open source. Dzięki swojej wszechstronności, skalowalności i łatwości użytkowania, Elasticsearch jest szeroko rozpowszechniony
Omówienie Ten artykuł ma na celu pomóc ci w szybkim uruchomieniu klastra Kubernetes z kubeadm. W tym przewodniku zostaną wdrożone dwa serwery
Używasz innego systemu? Wprowadzenie Sails.js to framework MVC dla Node.js, podobny do Ruby on Rails. Umożliwia tworzenie nowoczesnych aplikacji wer
Wprowadzenie W tym samouczku zainstaluj PufferPanel na naszym Vultr VPS. PufferPanel to otwarty, darmowy panel kontrolny do zarządzania tobą
Wprowadzenie Systemy Linux są domyślnie dostarczane z narzędziami do monitorowania, takimi jak top, df i du, które pomagają monitorować procesy i miejsce na dysku. Często jednak są
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.