市場に新しいイメージがあります:Centos8上のJoomla3.9を使用したVPS





Joomlaは、PHPで記述され、データストレージとしてリレーショナルデータベースを使用する、3番目に人気のある(WordpressおよびShopifyに続く)コンテンツ管理システムです。



他の多くのCMSと同様に、Joomlaは完全に無料で使用でき、オープンソースです。テンプレートのシステムを使用すると、サイトの外観を簡単に変更できます。拡張機能の膨大なカタログにより、必要なモジュールでサイトの機能を簡単に補足できます。



Joomlaが好きな理由



ここに私たちが彼女自身を愛している10の事実があります。



  1. 無料

    私たちが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を使用するには、2GBのRAMと2つのCPUコアを使用することをお勧めします。



メインのJoomlaファイルは約40MBです。さらに、サイトのサイズに応じて、画像、データベース、テーマ、追加のモジュール、およびバックアップを保存するためのスペースが必要になります。



Joomla 3.9には5.3.10の最小PHPバージョンが必要ですが、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のテンプレートを作成していて、速度が遅くなる可能性があるため、mysqldの起動に30秒の遅延を追加します。そうしないと、システムの初期起動時にサーバーの起動に問題が発生する可能性があります。



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のインストールに必要な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


そして、権限と所有者をルートに割り当てます。



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ルートパスワードを設定しましょう:



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管理者の電子メール、ログイン、パスワードを設定します。 「次へ」をクリックします。



2ページ目には、mysql_secure_installationの開始時に設定したルートデータベースのユーザー名とパスワードを示します。

データベースの名前を設定しましょう(例:joomla)。 「次へ」をクリックします。



3ページ目では、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