Инсталирайте Lets Encrypt SSL в приложението WordPress с едно щракване
Въведение Lets Encrypt е услуга на сертифициращ орган, която предлага безплатни TLS/SSL сертификати. Процесът на инсталиране е опростен от Certbot,
Invoice Ninja е безплатно уеб-базирано приложение с отворен код, което може да се използва за фактуриране, плащания, проследяване на времето и много други. Това е най-доброто решение за фактуриране и фактуриране на клиенти. Можете лесно да създавате и изпращате фактури онлайн за секунди. Invoice Ninja ви позволява да създавате персонализирани фактури и да показвате фактури на живо като PDF файл.
В този урок ще обясня как да инсталирате Invoice Ninja на сървър на Ubuntu 16.04.
192.168.0.227
.Преди да инсталирате каквито и да е пакети на сървър на Ubuntu, се препоръчва да актуализирате системата. Влезте във вашия сървър чрез SSH като вашия sudo потребител и изпълнете следната команда:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now
Преди да започнете, ще трябва да конфигурирате стек LEMP (Nginx, MariaDB и PHP) на вашия сървър.
Първо, инсталирайте Nginx и MariaDB със следната команда:
sudo apt-get install nginx mariadb-server -y
След като инсталацията приключи, стартирайте услугите Nginx и MariaDB и им позволете да стартират при зареждане:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mysql
sudo systemctl enable mysql
След това ще ви трябват PHP 7 и PHP-FPM за инсталацията на Invoice Ninja.
Можете да инсталирате PHP-FPM и другите необходими PHP разширения със следната команда:
sudo apt-get install php7.0-fpm php7.0-gd php7.0-xml php7.0-mysql php7.0-zip php7.0-curl php7.0-gmp php7.0-mbstring php7.0-mcrypt
След като инсталацията приключи, ще трябва да промените php.ini
конфигурационния файл:
sudo nano /etc/php/7.0/fpm/php.ini
Променете следния ред:
cgi.fix_pathinfo=0
Запазете и затворете файла.
По подразбиране инсталацията на MariaDB не е защитена. Ще трябва да го подсигурите. Можете да направите това, като стартирате mysql_secure_installation script
.
sudo mysql_secure_installation
Отговорете на всички въпроси, както е показано по-долу:
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Когато всичко е готово, свържете се с помощта на обвивката MySQL със следната команда:
mysql -u root -p
Въведете вашата root парола и натиснете "enter", ще видите обвивката на MySQL (MariaDB).
Създайте нова база данни и нов потребител за Invoice Ninja.
MariaDB [(none)]> CREATE DATABASE ninja_db;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ninja_db.* TO 'ninja'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
Конфигурирайте PHP-FPM пула за потребителя на Nginx:
sudo nano /etc/php/7.0/fpm/pool.d/www-data.conf
Добавете следните редове:
[www-data]
user = www-data
group = www-data
listen = /var/run/php-fpm-www-data.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 10s
pm.max_requests = 200
chdir = /
Запазете и затворете файла, когато приключите, след което рестартирайте PHP-FPM, за да приложите тези промени.
systemctl restart php7.0-fpm
Можете да изтеглите най-новата стабилна версия на Invoice Ninja от хранилището на GitHub със следната команда:
cd /var/www/html/
sudo git clone https://github.com/hillelcoren/invoice-ninja.git ninja
Ще трябва също да инсталирате Composer, мениджър на зависимости за PHP. Можете да го инсталирате със следната команда:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
След това инсталирайте всички зависимости на Invoice Ninja, като използвате composer
командата, както е показано по-долу:
cd /var/www/html/ninja
sudo composer install --no-dev -o
След като инсталацията приключи, преименувайте .env
файла и направете някои промени.
sudo mv .env.example .env
sudo nano .env
Променете редовете, както е показано по-долу:
DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password
Запазете файла, когато сте готови, след което изпълнете следната команда, за да подготвите базата данни:
sudo php artisan migrate
Ще бъдете подканени да изпълните командата, въведете "да" и натиснете "enter".
След това заредете базата данни със записи, както е показано по-долу:
sudo php artisan db:seed
Въведете "да" и натиснете "enter".
След това променете собствеността на /var/www/html/ninja
директорията:
sudo chown -R www-data:www-data /var/www/html/ninja/
След това ще трябва да създадете SSL сертификат и да създадете нова конфигурация на виртуален хост за Invoice Ninja.
Първо, създайте директория за SSL:
sudo mkdir -p /etc/nginx/cert/
След това генерирайте SSL сертификат със следната команда:
sudo openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key
Дайте подходящи разрешения на файла със сертификата.
sudo chmod 600 /etc/nginx/cert/*
Създайте нов конфигурационен файл за виртуален хост вътре в /etc/nginx/
директорията.
sudo nano /etc/nginx/conf.d/ninja.conf
Добавете следните редове:
server {
listen 80;
server_name 192.168.0.227;
add_header Strict-Transport-Security max-age=2592000;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443 default;
server_name 192.168.0.227;
ssl on;
ssl_certificate /etc/nginx/cert/ninja.crt;
ssl_certificate_key /etc/nginx/cert/ninja.key;
ssl_session_timeout 5m;
ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
root /var/www/html/ninja/public;
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
# Access and Error Log for Invoice Ninja
access_log /var/log/nginx/ininja.access.log;
error_log /var/log/nginx/ininja.error.log;
sendfile off;
# Handle PHP Applications
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm-www-data.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {
deny all;
}
}
Запазете и затворете файла. След това активирайте виртуалния хост със следната команда.
sudo ln -s /etc/nginx/sites-available/ninja /etc/nginx/sites-enabled/
Накрая рестартирайте уеб сървъра на Nginx.
sudo systemctl restart nginx
Преди да получите достъп до уеб интерфейса на Invoice Ninja, ще трябва да разрешите HTTP и HTTPS услуги през защитната стена на UFW. Изпълнете следните команди, за да отворите тези портове:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Накрая отворете уеб браузъра си и отворете URL адреса https://192.168.0.227
. След това можете да изпълните необходимите стъпки, за да завършите инсталацията.
Честито! Успешно инсталирахме Invoice Ninja с Nginx и MariaDB на сървър на Ubuntu 16.04.
Въведение Lets Encrypt е услуга на сертифициращ орган, която предлага безплатни TLS/SSL сертификати. Процесът на инсталиране е опростен от Certbot,
Използване на различна система? Ако закупите сървър на Debian, винаги трябва да имате най-новите корекции за сигурност и актуализации, независимо дали спите или не
PHP и свързаните с него пакети са най-често използваните компоненти при разгръщане на уеб сървър. В тази статия ще научим как да настроим PHP 7.0 или PHP 7.1 o
Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне
Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте
1. Virtualmin/Webmin Virtualmin е мощен и гъвкав контролен панел за уеб хостинг за Linux и UNIX системи, базиран на добре познатата уеб база с отворен код
Yii е PHP рамка, която ви позволява да разработвате приложения по-бързо и лесно. Инсталирането на Yii в Ubuntu е лесно, както ще научите точно l
Този урок обяснява как да настроите DNS сървър с помощта на Bind9 на Debian или Ubuntu. В цялата статия заменете your-domain-name.com съответно. При th
Въведение Logrotate е помощна програма за Linux, която опростява администрирането на лог файлове. Обикновено се изпълнява веднъж на ден чрез cron задание и управлява базата от регистрационни файлове
Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент
Използване на различна система? Red5 е медиен сървър с отворен код, внедрен в Java, който ви позволява да стартирате Flash многопотребителски приложения, като например предаване на живо
В тази статия ще видим как да компилирате и инсталирате основната линия на Nginx от официалните източници на Nginx с модула PageSpeed, който ви позволява да
Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока
Използване на различна система? Vanilla forum е приложение за форум с отворен код, написано на PHP. Той е напълно адаптивен, лесен за използване и поддържа външен
Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира
Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира
Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от Git. Gitea е написана на Голанг и е
Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от git. Gitea е написана на Голанг и е
Въведение Lynis е безплатен инструмент за одит на системата с отворен код, който се използва от много системни администратори за проверка на целостта и заздравяване на техните системи. аз
Използване на различна система? Thelia е инструмент с отворен код за създаване на уебсайтове за е-бизнес и управление на онлайн съдържание, написано на PHP. Изходен код на Thelia i
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече