Joomla是第三大最受欢迎的内容管理系统(仅次于Wordpress和Shopify),它是用PHP编写的,并使用关系数据库作为数据存储。
像许多其他CMS一样,Joomla是完全免费使用和开源的。模板系统使您可以轻松地更改网站的外观,而庞大的扩展目录使您可以轻松地用必要的模块来补充网站的功能。
为什么我们爱Joomla
这是我们爱她自己的10个事实。
- Free
我们热爱Joomla的主要因素以及它为何如此受欢迎 - 开源
作为开源产品,任何人都可以获取其代码并在必要时进行更改。这导致许多开发人员专门与Joomla合作。
- SEO Friendly
Joomla . apache-, , . , - - . .
-
-, . CMS «Joomla Security Strike Team», . , , . Joomla , .
-
Joomla . , , .
-
, ,
-
Joomla , : . : , .
-
: , .
-
Joomla - . , , CMS.
- 优秀的
文档为设计人员,开发人员和站点管理员提供详细的文档。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/80
和https/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.conf
gzip添加到压缩设置
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市场上缺少什么?
每个自重托管的主机肯定应在其市场中包含哪些内容?