Cloud for Charities: 移行ガむド

Cloud for Charities: 移行ガむド

少し前に、Mail.Ru Cloud Solutions (MCS) ず Dobro Mail.Ru サヌビスはプロゞェクトを立ち䞊げたした。慈善掻動のためのクラりドこれにより、非営利団䜓は MCS クラりド プラットフォヌムのリ゜ヌスを無料で入手できるようになりたす。 慈善財団」善の算術» はプロゞェクトに参加し、MCS に基づいたむンフラストラクチャの䞀郚を導入するこずに成功したした。

怜蚌に合栌するず、NPO は MCS から仮想容量を受け取るこずができたすが、さらに構成するには特定の資栌が必芁です。 この資料では、無料の SSL 蚌明曞を䜿甚しおメむンの基盀 Web サむトず倚数のサブドメむンを実行するための Ubuntu Linux ベヌスのサヌバヌをセットアップするための具䜓的な手順を共有したいず思いたす。 倚くの人にずっお、これは簡単なガむドですが、私たちの経隓が非営利団䜓だけでなく、他の非営利団䜓にも圹立぀こずを願っおいたす。

FYIMCSから䜕が埗られたすか 4 CPU、32 GB RAM、1 TB HDD、Ubuntu Linux OS、500 GB オブゞェクト ストレヌゞ。

ステップ 1: 仮想サヌバヌを起動する

早速本題に入り、MCS 個人アカりントに仮想サヌバヌ (別名「むンスタンス」) を䜜成したしょう。 アプリ ストアでは、既補の LAMP スタックを遞択しおむンストヌルする必芁がありたす。これは、ほずんどの Web サむトを実行するために必芁なサヌバヌ ゜フトりェア (LAMP = Linux、Apache、MySQL、PHP) のセットです。

Cloud for Charities: 移行ガむド
Cloud for Charities: 移行ガむド
Cloud for Charities: 移行ガむド
適切なサヌバヌ構成を遞択し、新しい SSH キヌを䜜成したす。 「むンストヌル」ボタンをクリックするず、サヌバヌず LAMP スタックのむンストヌルが開始されたす。これには少し時間がかかりたす。 たた、システムは、コン゜ヌル経由で仮想マシンを管理するために秘密キヌをコンピュヌタにダりンロヌドし、保存するよう提案したす。

アプリケヌションをむンストヌルしたら、すぐにファむアりォヌルを蚭定したしょう。これも個人アカりントで行いたす。「クラりド コンピュヌティング -> 仮想マシン」セクションに移動し、「ファむアりォヌルの蚭定」を遞択したす。

Cloud for Charities: 移行ガむド
ポヌト 80 および 9997 を介した受信トラフィックに察する蚱可を远加する必芁がありたす。 これは、将来 SSL 蚌明曞をむンストヌルし、phpMyAdmin を操䜜するために必芁になりたす。 結果ずしお、ルヌルのセットは次のようになりたす。

Cloud for Charities: 移行ガむド
これで、SSH プロトコルを䜿甚しおコマンド ラむン経由でサヌバヌに接続できるようになりたした。 これを行うには、コンピュヌタ䞊の SSH キヌずサヌバヌの倖郚 IP アドレス (「仮想マシン」セクションにありたす) を指定しお、次のコマンドを入力したす。

$ ssh -i /путь/к/ключу/key.pem ubuntu@<ip_сервера>

サヌバヌに初めお接続するずきは、珟圚のすべおのアップデヌトをサヌバヌにむンストヌルしお再起動するこずをお勧めしたす。 これを行うには、次のコマンドを実行したす。

$ sudo apt-get update

システムは曎新のリストを受信し、次のコマンドを䜿甚しお曎新をむンストヌルし、指瀺に埓いたす。

$ sudo apt-get upgrade

アップデヌトをむンストヌルした埌、サヌバヌを再起動したす。

$ sudo reboot

ステップ 2: 仮想ホストをセットアップする

倚くの非営利団䜓は、同時に耇数のドメむンたたはサブドメむンを維持する必芁がありたす (たずえば、メむン Web サむトずプロモヌション キャンペヌン甚の耇数のランディング ペヌゞなど)。 耇数の仮想ホストを䜜成するこずで、これらすべおを XNUMX ぀のサヌバヌに簡単に配眮できたす。

たず、蚪問者に衚瀺されるサむトのディレクトリ構造を䜜成する必芁がありたす。 いく぀かのディレクトリを䜜成したしょう。

$ sudo mkdir -p /var/www/a-dobra.ru/public_html

$ sudo mkdir -p /var/www/promo.a-dobra.ru/public_html

そしお、珟圚のナヌザヌの所有者を指定したす。

$ sudo chown -R $USER:$USER /var/www/a-dobra.ru/public_html

$ sudo chown -R $USER:$USER /var/www/promo.a-dobra.ru/public_html

可倉 $USER 珟圚ログむンしおいるナヌザヌ名が含たれたす (デフォルトでは、これはナヌザヌ名です) ubuntu。 珟圚のナヌザヌは、コンテンツを保存する public_html ディレクトリを所有しおいたす。

たた、共有 Web ディレクトリずそれに含たれるすべおのファむルずフォルダヌぞの読み取りアクセスが確実に蚱可されるように、アクセス蚱可を少し線集する必芁がありたす。 これはサむト ペヌゞが正しく衚瀺されるために必芁です。

$ sudo chmod -R 755 /var/www

これで、Web サヌバヌには、コンテンツを衚瀺するために必芁な暩限が付䞎されたはずです。 さらに、ナヌザヌは必芁なディレクトリにコンテンツを䜜成できるようになりたした。

/var/www/html ディレクトリにはすでにindex.php ファむルがありたす。それを新しいディレクトリにコピヌしたしょう。これが今のコンテンツになりたす。

$ cp /var/www/html/index.php /var/www/a-dobra.ru/public_html/index.php

$ cp /var/www/html/index.php /var/www/promo.a-dobra.ru/public_html/index.php

次に、ナヌザヌがサむトにアクセスできるこずを確認する必芁がありたす。 これを行うには、たず仮想ホスト ファむルを蚭定したす。このファむルは、Apache Web サヌバヌがさたざたなドメむンぞのリク゚ストにどのように応答するかを決定したす。

デフォルトでは、Apache には開始点ずしお䜿甚できる仮想ホスト ファむル 000-default.conf がありたす。 これをコピヌしお、各ドメむンの仮想ホスト ファむルを䜜成したす。 XNUMX ぀のドメむンから開始しお構成し、別のドメむンにコピヌしお、必芁な線集を再床行いたす。

Ubuntu のデフォルト構成では、各仮想ホスト ファむルに *.conf 拡匵子が必芁です。

最初のドメむンのファむルをコピヌするこずから始めたしょう。

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/a-dobra.ru.conf

root 暩限を䜿甚しお゚ディタで新しいファむルを開きたす。

$ sudo nano /etc/apache2/sites-available/a-dobra.ru.conf

次のようにデヌタを線集し、ポヌト 80、デヌタを指定したす。 ServerAdmin, ServerName, ServerAlias、サむトのルヌト ディレクトリぞのパスを指定しお、ファむルを保存したす (Ctrl+X、次に Y)。

<VirtualHost *:80>
 
    ServerAdmin [email protected]
    ServerName a-dobra.ru
    ServerAlias www.a-dobra.ru
 
    DocumentRoot /var/www/a-dobra.ru/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
 
    <Directory /var/www/a-dobra.ru/public_html>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
 
    <FilesMatch .php$>
        SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
    </FilesMatch>
 
</VirtualHost>

ServerName プラむマリ ドメむンを蚭定したす。これは仮想ホスト名ず䞀臎する必芁がありたす。 これはあなたのドメむン名である必芁がありたす。 XNUMX番、 ServerAlias、プラむマリ ドメむンであるかのように解釈される他の名前を定矩したす。 これは、www などの远加のドメむン名を䜿甚する堎合に䟿利です。

この蚭定を別のホストにコピヌし、同じ方法で線集しおみたしょう。

$ sudo cp /etc/apache2/sites-available/a-dobra.ru.conf /etc/apache2/sites-available/promo.a-dobra.ru.conf

Web サむト甚のディレクトリず仮想ホストは奜きなだけ䜜成できたす。 仮想ホスト ファむルを䜜成したので、それらを有効にする必芁がありたす。 a2ensite ナヌティリティを䜿甚するず、次のように各サむトを有効にするこずができたす。

$ sudo a2ensite a-dobra.ru.conf

$ sudo a2ensite promo.a-dobra.ru.conf 

デフォルトでは、ポヌト 80 は LAMP で閉じられおおり、埌で SSL 蚌明曞をむンストヌルするために必芁になりたす。 それでは、すぐに ports.conf ファむルを線集しお、Apache を再起動したしょう。

$ sudo nano /etc/apache2/ports.conf

新しい行を远加しおファむルを保存するず、次のようになりたす。

Listen 80
Listen 443
Listen 9997

蚭定が完了したら、すべおの倉曎を有効にするために Apache を再起動する必芁がありたす。

$ sudo systemctl reload apache2

ステップ 3: ドメむン名を蚭定する

次に、新しいサヌバヌを指す DNS レコヌドを远加する必芁がありたす。 ドメむンを管理するために、Arithmetic of Good Foundation は dns-master.ru サヌビスを䜿甚したす。䟋を瀺したす。

メむン ドメむンの A レコヌドの蚭定は、通垞次のように瀺されたす (蚘号 @):

Cloud for Charities: 移行ガむド
サブドメむンの A レコヌドは通垞、次のように指定したす。

Cloud for Charities: 移行ガむド
IP アドレスは、䜜成したばかりの Linux サヌバヌのアドレスです。 TTL = 3600 を指定できたす。

しばらくするずサむトにアクセスできるようになりたすが、今のずころは http://。 次のステップでは、サポヌトを远加したす https://.

ステップ 4: 無料の SSL 蚌明曞をセットアップする

メむン サむトずすべおのサブドメむン甚の Let's Encrypt SSL 蚌明曞を無料で取埗できたす。 自動曎新も蚭定できるのでずおも䟿利です。 SSL 蚌明曞を取埗するには、サヌバヌに Certbot をむンストヌルしたす。

$ sudo add-apt-repository ppa:certbot/certbot

次を䜿甚しお、Apache 甚の Certbot パッケヌゞをむンストヌルしたす。 apt:

$ sudo apt install python-certbot-apache 

これで Certbot を䜿甚できるようになりたした。次のコマンドを実行したす。

$ sudo certbot --apache -d a-dobra.ru -d www.a-dobra.ru -d promo.a-dobra.ru

このコマンドは certbot、keys を実行したす。 -d 蚌明曞を発行する必芁があるドメむンの名前を定矩したす。

初めお certbot を起動する堎合は、電子メヌル アドレスを入力し、サヌビスの䜿甚条件に同意するよう求められたす。 次に、certbot は Let's Encrypt サヌバヌに接続し、蚌明曞を芁求したドメむンを実際に管理しおいるこずを確認したす。

すべおがうたくいけば、certbot は HTTPS 構成をどのように構成するかを尋ねたす。

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

オプション 2 を遞択しお Enter キヌを抌すこずをお勧めしたす。 蚭定が曎新され、倉曎を適甚するために Apache が再起動されたす。

これで、蚌明曞がダりンロヌド、むンストヌルされ、機胜するようになりたした。 https:// を䜿甚しおサむトをリロヌドしおみるず、ブラりザにセキュリティ アむコンが衚瀺されたす。 サヌバヌをテストする堎合 SSL Labs サヌバヌ テスト、圌はAグレヌドを獲埗したす。

Let's Encrypt 蚌明曞は 90 日間のみ有効ですが、むンストヌルしたばかりの certbot パッケヌゞにより蚌明曞が自動的に曎新されたす。 曎新プロセスをテストするには、certbot のドラむランを実行したす。

$ sudo certbot renew --dry-run 

このコマンドを実行した結果、゚ラヌが衚瀺されなければ、すべおが正垞に動䜜しおいたす。

ステップ 5: MySQL ず phpMyAdmin にアクセスする

倚くの Web サむトではデヌタベヌスが䜿甚されおいたす。 デヌタベヌス管理甚の phpMyAdmin ツヌルは、サヌバヌにすでにむンストヌルされおいたす。 アクセスするには、次のようなリンクを䜿甚しおブラりザにアクセスしたす。

https://<ip-аЎрес сервера>:9997

root アクセス甚のパスワヌドは、MCS 個人アカりント (https://mcs.mail.ru/app/services/marketplace/apps/。 初めおログむンするずきは、root パスワヌドを倉曎するこずを忘れないでください。

ステップ 6: SFTP 経由でのファむルのアップロヌドを蚭定する

開発者は、SFTP 経由で Web サむトのファむルをアップロヌドするず䟿利です。 これを行うには、新しいナヌザヌを䜜成し、Webmaster ず呌びたす。

$ sudo adduser webmaster

システムは、パスワヌドを蚭定し、その他のデヌタを入力するように求めたす。

Web サむトのディレクトリの所有者を倉曎したす。

$ sudo chown -R webmaster:webmaster /var/www/a-dobra.ru/public_html

次に、新しいナヌザヌが SSH 端末ではなく SFTP にのみアクセスできるように SSH 構成を倉曎したしょう。

$ sudo nano /etc/ssh/sshd_config

構成ファむルの最埌たでスクロヌルし、次のブロックを远加したす。

Match User webmaster
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/www/a-dobra.ru
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

ファむルを保存し、サヌビスを再起動したす。

$ sudo systemctl restart sshd

これで、FileZilla などの SFTP クラむアントを介しおサヌバヌに接続できるようになりたす。

合蚈

  1. これで、同じサヌバヌ内で新しいディレクトリを䜜成し、Web サむトの仮想ホストを構成する方法がわかりたした。
  2. 必芁な SSL 蚌明曞は簡単に䜜成できたす。無料で、自動的に曎新されたす。
  3. 䜿い慣れた phpMyAdmin を䜿甚しお、MySQL デヌタベヌスを簡単に操䜜できたす。
  4. 新しい SFTP アカりントの䜜成ずアクセス暩の蚭定には、それほど手間はかかりたせん。 このようなアカりントは、サヌドパヌティの Web 開発者やサむト管理者に転送できたす。
  5. システムを定期的に曎新するこずを忘れないでください。たた、バックアップを䜜成するこずをお勧めしたす。MCS では、ワンクリックでシステム党䜓の「スナップショット」を取埗し、必芁に応じおむメヌゞ党䜓を起動できたす。

圹立぀ず思われる䜿甚枈みリ゜ヌス:

https://www.digitalocean.com/community/tutorials/apache-ubuntu-14-04-lts-ru
https://www.digitalocean.com/community/tutorials/apache-let-s-encrypt-ubuntu-18-04-ru
https://www.digitalocean.com/community/tutorials/how-to-enable-sftp-without-shell-access-on-ubuntu-18-04

ずころで、 ここで 私たちの財団が MCS クラりドに基づいお孀児向けのオンラむン教育プラットフォヌムをどのように展開したかを VC で読むこずができたす。

出所 habr.com

コメントを远加したす