我们在市场上有了新形象:在Centos 8上使用Joomla 3.9的VPS





Joomla是第三大最受欢迎的内容管理系统(仅次于Wordpress和Shopify),它是用PHP编写的,并使用关系数据库作为数据存储。



像许多其他CMS一样,Joomla是完全免费使用和开源的。模板系统使您可以轻松地更改网站的外观,而庞大的扩展目录使您可以轻松地用必要的模块来补充网站的功能。



为什么我们爱Joomla



这是我们爱她自己的10个事实。



  1. Free

    我们热爱Joomla的主要因素以及它为何如此受欢迎
  2. 开源

    作为开源产品,任何人都可以获取其代码并在必要时进行更改。这导致许多开发人员专门与Joomla合作。

  3. SEO Friendly

    Joomla . apache-, , . , - - . .



  4. -, . CMS «Joomla Security Strike Team», . , , . Joomla , .



  5. Joomla . , , .



  6. , ,



  7. Joomla , : . : , .



  8. : , .



  9. Joomla - . , , CMS.

  10. 优秀的

    文档为设计人员,开发人员和站点管理员提供详细的文档。youtube上有一个频道,指导初学者快速部署网站。



有了如此巨大的热爱,我们当然不能没有Joomla离开我们的市场,并以此创造新的形象。







我们如何构建此映像:服务器要求



要使用Joomla,建议使用2 GB的RAM和2个CPU内核。



Joomla的主要文件约为40 MB,此外,您还需要用于存储图像,数据库,主题,其他模块和备份的空间,这将取决于站点的大小。



Joomla 3.9要求最低PHP版本为5.3.10,但建议使用7.3或更高版本。



Joomla可以使用Apache,Nginx或IIS作为Web服务器,并使用MySQL,MSSQL或PostgreSQL作为数据库。



我们将使用Nginx和MySQL安装Joomla。



安装



让我们将已安装的软件包更新为最新版本:



sudo dnf update -y


让我们为到http/80https/443端口的传入流量添加永久权限



sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https


让我们应用新的防火墙规则:



sudo systemctl reload firewalld


让我们启动并启用Nginx服务器:



sudo systemctl start nginx
sudo systemctl enable nginx


安装PHP,PHP-FPM和必需的PHP模块:



sudo dnf install php-fpm php-cli php-mysqlnd php-json php-gd php-ldap php-odbc php-pdo php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip -y


安装MySQL服务器:



sudo dnf install mysql-server -y


让我们打开并启动MySQL服务器:



sudo systemctl start mysqld
sudo systemctl enable mysqld


由于我们正在为VDS制作模板,并且它们可能很慢,因此我们将添加30秒的mysqld启动延迟,否则可能会在初始系统启动时启动服务器问题:



sudo sed -i '/Group=mysql/a \
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service


让我们通过更改nginx的工作组和用户来进行更改

/etc/php-fpm.d/www.conf:
sudo sed -i --follow-symlinks 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sudo sed -i --follow-symlinks 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf


相应地将PHP会话目录的所有者更改为nginx:



sudo chown -R nginx. /var/lib/php/session


让我们从配置文件/etc/nginx/nginx.conf中删除带有注释的行(以便sed不会出现双正数):



sudo sed -i -e '/^[ \t]*#/d'  /etc/nginx/nginx.conf


/etc/nginx/nginx.confgzip添加到压缩设置



sudo sed -i '/types_hash_max_size 2048;/a \
\
    gzip on;\
    gzip_static on;\
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/x-icon image/svg+xml application/x-font-ttf;\
    gzip_comp_level 9;\
    gzip_proxied any;\
    gzip_min_length 1000;\
    gzip_disable "msie6";\
    gzip_vary on; \
' /etc/nginx/nginx.conf


将index.php文件的设置添加到/etc/nginx/nginx.conf中:



sudo sed -i '/        root         \/usr\/share\/nginx\/html;/a \
        index index.php index.html index.htm;\
' /etc/nginx/nginx.conf




让我们为通过php-fpm套接字处理php的默认服务器添加设置,为静态文件禁用日志,增加到期时间,为favicon.ico和robots.txt禁用访问和错误日​​志,并拒绝所有人访问.ht文件:



sudo sed -i '/        location \/ {/a \
		try_files $uri $uri/ /index.php?q=$uri&$args;\
        }\
    \
        location ~* ^.+.(js|css|png|jpg|jpeg|gif|ico|woff)$ {\
        access_log off;\
        expires max;\
        }\
    \
        location ~ \.php$ {\
        try_files  $uri =404;\
        fastcgi_pass   unix:/run/php-fpm/www.sock;\
        fastcgi_index index.php;\
        include fastcgi_params;\
        fastcgi_intercept_errors on;\
        fastcgi_ignore_client_abort off;\
        fastcgi_connect_timeout 60;\
        fastcgi_send_timeout 180;\
        fastcgi_read_timeout 180;\
        fastcgi_buffer_size 128k;\
        fastcgi_buffers 4 256k;\
        fastcgi_busy_buffers_size 256k;\
        fastcgi_temp_file_write_size 256k;\
        }\
    \
        location = /favicon.ico {\
        log_not_found off;\
        access_log off;\
        }\
    \
        location = /robots.txt {\
        allow all;\
        log_not_found off;\
        access_log off;\
        }\
    \
        location ~ /\.ht {\
        deny all;' /etc/nginx/nginx.conf


安装安装certbot所需的install wget:



sudo dnf install wget -y


从非现场下载certbot可执行文件:



cd ~
wget https://dl.eff.org/certbot-auto


将certbot移至/ usr / local / bin /:



mv certbot-auto /usr/local/bin/certbot-auto


并将权限和所有者分配给root:



chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto


让我们安装certbot的依赖项,并在此阶段将其中断(答案:Y,c):



certbot-auto


从异地下载带有Joomla_3-9-22-Stable-Full_Package的档案



cd ~
wget https://downloads.joomla.org/cms/joomla3/3-9-22/Joomla_3-9-22-Stable-Full_Package.tar.gz?format=gz


安装tar解压缩档案



sudo dnf install tar -y


将文件解压缩到Web服务器目录



tar xf Joomla_3-9-22-Stable-Full_Package.tar.gz\?format\=gz -C /usr/share/nginx/html/


删除档案



rm -f Joomla_3-9-22-Stable-Full_Package.tar.gz\?format\=gz


设置nginx文件所有者



sudo chown -R nginx. /usr/share/nginx/html


根据Joomla建议禁用输出缓冲



sudo sed -i --follow-symlinks 's/output_buffering = 4096/output_buffering = Off/g' /etc/php.ini


在此阶段,我们将关闭服务器并拍摄快照:



shutdown -h now


从快照启动VDS之后,我们将通过运行以下脚本来执行MySQL服务器的初始配置:



mysql_secure_installation


让我们打开密码验证器:



Would you like to setup VALIDATE PASSWORD component? : y


让我们设置MySQL root用户密码:



New password:
Re-enter new password:


让我们删除匿名用户:



Remove anonymous users? (Press y|Y for Yes, any other key for No) : y


远程拒绝根连接:



Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y


让我们删除测试数据库:



Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y


重新加载特权表:



Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y


之后,要完成安装,我们可以转到地址vps_ip_address。

在该地址,我们将看到包含Joomla安装的页面。



我们将指示站点的名称,我们将设置Joomla管理员的电子邮件,登录名和密码。点击下一步”。



在第二页上,我们将指定根数据库用户名和启动mysql_secure_installation时设置的密码。

让我们为数据库设置一个名称,例如joomla。点击“下一步”。



在第三页上,我们可以选择安装演示数据以了解CMS的功能,或者默认情况下选择一个空站点,选择后,我们将单击“安装”。



要安装俄语,您需要单击“安装语言包“-俄语,并在安装后使用默认语言



进行安装要完成安装,请单击”删除目录”以删除用于安装的文件。



此后,您可以使用创建的Joomla管理员用户名和密码转到控制面板。



配置HTTPS(可选)



要配置HTTPS,VDS必须具有有效的DNS名称,请

在“服务器”部分的/etc/nginx/nginx.conf指定服务器名称(例如):



server_name  domainname.ru;


重新启动nginx:



service nginx restart


让我们运行certbot:



sudo /usr/local/bin/certbot-auto --nginx


输入您的电子邮件,同意服务条款(A),订阅新闻通讯(可选)(N),选择您需要为其颁发证书的域名(为每个人输入)。



如果一切顺利,我们将看到一条有关成功颁发证书和服务器配置的消息:



Congratulations! You have successfully enabled ...




之后,端口80上的连接将重定向到443(https)。



添加到/ etc / crontab以自动续订证书:



# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"




对于企业主:提供您的软件



如果您是在VPS上部署和使用的软件开发人员,那么我们可以将您包括在市场中。这是我们可以帮助您吸引新客户,增加流量和获得认可的方式。写信给我们



只需在评论中为我们提供图片



用什么软件编写您希望能够一键式部署虚拟机的软件?



您在RUVDS市场上缺少什么?



每个自重托管的主机肯定应在其市场中包含哪些内容?










All Articles