20210727のLinuxに関する記事は3件です。

ブラウザ上に編集した画面を表示させるサーバを構築する

VirtualBox Ubuntu WEBサーバー構築 元々VirtualBox内にUbuntuがあったため動作環境は設定済 サイトから拾ってきた情報にて簡易的なWebサーバ構築を仮想環境内で行う プロンプトにて編集後、仮想環境内のブラウザにて編集したhtmlが表示できれば完成 サイト情報がyumコマンド:CentOSでなかったため”yumコマンドが見つかりません “と怒られエラーが続きはまる パッケージインストールもできるとのことだったが、ディストリビューションの関係から 並びのコマンドらしい 再度新規でCentOSの仮想マシンを作成:この作業に関してもはまった 起動後top画面にて “no bootable medium fount halted” となりimageファイルが設定されていないことが分かりリファレンスからisoダウンロード VirtualBox内>設定>ストレージ 落としたisoイメージを設定し無事起動 だが、初期設定時に”最小起動範囲”といった最小量メモリで作ってしまいGUIがない仮想マシンを作成してしまった 再び元あったUbuntuに戻り構築できるか試した結果: Ubuntuに関してはaptコマンドということを知り(ググって時間溶かした)改めて作業開始 エラー1:ドメイン変更後のapache再起動にて ”httpd: Could not reliably determine the server’s fully qualified domain name” Apacheの設定ファイル「httpd.conf」の「ServerName」が設定されていない時にこのエラーが表示されるらしい 名前を “localhost:80” と変換後解決 作業工程 ステップ1 Apacheのインストール ApacheはUbuntuのデフォルトのソフトウェアリポジトリで利用できるため、従来のパッケージ管理ツールを使用してインストールする 最初に、ローカルパッケージインデックスを更新、最新のアップストリームの変更を反映させる $ sudo apt update   次に、apache2パッケージをインストール $ sudo apt install apache2 ステップ2 ファイアウォールの調整 Apacheをテストする前に、ファイアウォール設定を変更 外部からデフォルトWebポートへのアクセスを許可する必要がある インストール中、ApacheはUFWに自らを登録し、ファイアウォールを介したApacheへのアクセスを有効/無効にするアプリケーションプロファイルをいくつか追加するらしい   ufwアプリケーションプロファイルを一覧表示する $ sudo ufw app list Output Available applications: Apache Apache Full Apache Secure OpenSSH $ sudo ufw allow 'Apache'   変更を確認する php $ sudo ufw status ステップ3 Webサーバの確認 Webサーバーは既に稼働している必要がある Ubuntu 20.04がApacheを起動する systemd initシステムでサービスが稼働中であることを確認する php $ sudo systemctl status apache2 デフォルトのApacheランディングページにアクセスして、ソフトウェアがIPアドレスを介して適切に実行されていることを確認する サーバーのIPアドレスが分からない場合 $ hostname -I サーバーのIPアドレスが分かったら、ブラウザのアドレスバーに入力 http:// <サーバのIPアドレス> デフォルトのUbuntu 20.04 Apache webページが表示される ステップ4 仮想ホストの設定 Apache Webサーバを使用している場合、仮想ホスト (Nginx のサーバーブロックに類似) を作成して設定の詳細をカプセル化し 単一のサーバーから複数のドメインをホストすることができる <自分のIPアドレス部分>を自分の作成するドメイン名に置き換える必要がある Ubuntu 20.04上のApacheには、/var/www/htmlディレクトリからドキュメントを提供するように設定されている “デフォルトで有効になっている1つのサーバーブロック” というものがある これは単一のサイトではうまく機能するが、複数のサイトをホストしている場合は扱いにくいことがある そのため /var/www/htmlは変更をしない 代わりにクライアントの要求がどのサイトとも一致しないときに表示するデフォルトディレクトリとして/var/www/htmlを配置 test_web_serverサイトの/var/www内にディレクトリ構造を作成、test_web_serverのディレクトリを次のように作成します。 php $ sudo mkdir /var/www/test_web_server $USER環境変数を使用してディレクトリの所有権を割り当てる php $ sudo chown -R $USER:$USER /var/www/test_web_server   所有者には読み取り・書き込み・実行可能権限を グループには読み取り・実行可能権限のみをそれぞれ付与 php $ sudo chmod -R 755 /var/www/test_web_server   nanoまたはお気に入りのエディタを使用し、サンプルindex.htmlページを作成 php $ sudo nano /var/www/test_web_server/index.html   HTMLを追加 /var/www/test_web_server/index.html <html> <head> <title>Welcome to test_web_server!</title> </head> <body> <h1>Success! The test_web_server virtual host is working!</h1> </body> </html>   完了したら、ファイルを保存して終了 Apacheがこのコンテンツを提供するには、正しいディレクティブで仮想ホストを作成する必要がある /etc/apache2/sites-able/000-default.confでデフォルトの設定ファイルを直接変更する代わりに /etc/apache2/sites-available/test_web_server.confで新しい設定ファイルを作成 php $ sudo nano /etc/apache2/sites-available/test_web_server.conf   次の構成ブロックに貼り付ける /etc/apache2/sites-available/test_web_server.conf <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName test_web_server ServerAlias www.test_web_server DocumentRoot /var/www/test_web_server ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ```  ファイルを保存して終了 a2ensiteツールを使用し、次のようにファイルを有効にする ```php $ sudo a2ensite test_web_server.conf ```  000-default.confで定義されているデフォルトのサイトを無効にする ```php $ sudo a2dissite 000-default.conf ```  次に、設定エラーがないかテストをする ```php $ sudo apache2ctl configtest   次の出力が表示される php Output Syntax OK Apacheを再起動してこれらの変更を実装 php $ sudo systemctl restart apache2   これで、Apacheがドメイン名を提供しているはず http://test_web_serverに移動
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Webサーバ構築:ブラウザ上に編集画面を表示させるサーバを構築する

・VirtualBox Ubuntu WEBサーバー構築 元々VirtualBox内にUbuntuがあったため動作環境は設定済 サイトから拾ってきた情報を元に簡易的なWebサーバ構築を仮想環境内で行う (現在Linuxを学習中のため、手を動かしたいという思いもあり、試しに仮想環境ないでやってみた次第です) コマンドプロンプトにてvi編集後、仮想環境内のブラウザにて編集したhtmlが表示できれば完成 1.サイト情報がyumコマンド:CentOSでなかったため”yumコマンドが見つかりません “と怒られエラーが続きはまる パッケージインストールもできるとのことだったが、ディストリビューションの関係から CentOS= yumコマンド Ubuntu = aptコマンド とのことらしい 2.再度新規でCentOSの仮想マシンを作成:この作業に関してもはまった 起動後top画面にて “no bootable medium fount halted” となりimageファイルが設定されていないことが分かりリファレンスからisoダウンロード VirtualBox内>設定>ストレージ 落としたisoイメージを設定し無事起動 だが、初期設定時に”最小起動範囲”といった最小量メモリで作ってしまいGUIがない仮想マシンを作成してしまった...時間ロス 3.再び元あったUbuntuに戻り構築できるか試した結果 Ubuntuに関してはaptコマンドということを知り(ググって時間溶かした)改めて作業開始 エラー.ドメイン変更後のapache再起動にて ”httpd: Could not reliably determine the server’s fully qualified domain name” Apacheの設定ファイル「httpd.conf」の「ServerName」が設定されていない時にこのエラーが表示されるらしい 名前を localhost:80と変換後解決 ・作業工程 1.Apacheのインストール ApacheはUbuntuのデフォルトのソフトウェアリポジトリで利用できるため、従来のパッケージ管理ツールを使用してインストールする 最初に、ローカルパッケージインデックスを更新、最新のアップストリームの変更を反映させる ターミナル $ sudo apt update 次に、apache2パッケージをインストール ターミナル $ sudo apt install apache2 2.ファイアウォール調整 Apacheをテストする前に、ファイアウォール設定を変更 外部からデフォルトWebポートへのアクセスを許可する必要がある インストール中、ApacheはUFWに自らを登録し、ファイアウォールを介したApacheへのアクセスを有効/無効にするアプリケーションプロファイルをいくつか追加するらしい   ufwアプリケーションプロファイルを一覧表示する ターミナル $ sudo ufw app list >> Output Available applications: Apache Apache Full Apache Secure OpenSSH ターミナル $ sudo ufw allow 'Apache'   変更を確認する ターミナル $ sudo ufw status 3.Webサーバの確認 Webサーバーは既に稼働している必要がある Ubuntu 20.04がApacheを起動する systemd initシステムでサービスが稼働中であることを確認する ターミナル $ sudo systemctl status apache2 デフォルトのApacheランディングページにアクセスして、ソフトウェアがIPアドレスを介して適切に実行されていることを確認する サーバーのIPアドレスが分からない場合 ターミナル $ hostname -I サーバーのIPアドレスが分かったら、ブラウザのアドレスバーに入力 http:// <サーバのIPアドレス> デフォルトのUbuntu 20.04 Apache webページが表示される 4.仮想ホストの設定 Apache Webサーバを使用している場合、仮想ホスト (Nginx のサーバーブロックに類似) を作成して設定の詳細をカプセル化し 単一のサーバーから複数のドメインをホストすることができる <自分のIPアドレス部分>を自分の作成するドメイン名に置き換える必要がある Ubuntu 20.04上のApacheには、/var/www/htmlディレクトリからドキュメントを提供するように設定されている “デフォルトで有効になっている1つのサーバーブロック” というものがある これは単一のサイトではうまく機能するが、複数のサイトをホストしている場合は扱いにくいことがある そのため /var/www/htmlは変更をしない 代わりにクライアントの要求がどのサイトとも一致しないときに表示するデフォルトディレクトリとして/var/www/htmlを配置 test_web_serverサイトの/var/www内にディレクトリ構造を作成、test_web_serverのディレクトリを次のように作成する ターミナル $ sudo mkdir /var/www/test_web_server $USER環境変数を使用してディレクトリの所有権を割り当てる ターミナル $ sudo chown -R $USER:$USER /var/www/test_web_server   所有者には読み取り・書き込み・実行可能権限を グループには読み取り・実行可能権限のみをそれぞれ付与 ターミナル $ sudo chmod -R 755 /var/www/test_web_server nanoまたはお気に入りのエディタを使用し、サンプルindex.htmlページを作成 ターミナル $ sudo nano /var/www/test_web_server/index.html HTMLを追加 ターミナル /var/www/test_web_server/index.html vi作成 <html> <head> <title>Welcome to test_web_server!</title> </head> <body> <h1>Success! The test_web_server virtual host is working!</h1> </body> </html>   完了したら、ファイルを保存して終了 Apacheがこのコンテンツを提供するには、正しいディレクティブで仮想ホストを作成する必要がある /etc/apache2/sites-able/000-default.confでデフォルトの設定ファイルを直接変更する代わりに /etc/apache2/sites-available/test_web_server.confで新しい設定ファイルを作成 $ sudo nano /etc/apache2/sites-available/test_web_server.conf 次の構成ブロックに貼り付ける ターミナル /etc/apache2/sites-available/test_web_server.conf ターミナル <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName test_web_server ServerAlias www.test_web_server DocumentRoot /var/www/test_web_server ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ファイルを保存して終了 a2ensiteツールを使用し、次のようにファイルを有効にする ターミナル $ sudo a2ensite test_web_server.conf 000-default.confで定義されているデフォルトのサイトを無効にする ターミナル $ sudo a2dissite 000-default.conf 次に、設定エラーがないかテストをする ターミナル $ sudo apache2ctl configtest 次の出力が表示される ターミナル Output Syntax OK Apacheを再起動してこれらの変更を実装 ターミナル $ sudo systemctl restart apache2 これで、Apacheがドメイン名を提供しているはず http://test_web_serverに移動し確認する html内にてUFT-8指定していないと文字化けしたので <!DOCTYPE> などある程度の作法は必要でした。 現在ping-tの学習をしているが、暗記しているだけの作業になってしまい学習自体の進捗があまりよろしくありません。 Amazonに少しではあるが設計や構築用の書籍があるので、これを機に参考程度に何冊か読んでみます。。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Linuxにて、csvファイルの値を重複チェックする方法

csvファイルの値の重複をチェックします。 前提 test.csv 1,Hosoda,Tokyo 2,Matsuoka,Tokyo 3,Oda,Shiga 4,Takano,Osaka 4,Nagata,Kochi 5,Ito,Saitama 6,Sone,Tokyo 5,Nakku,AAne 4,Shiroichi,Hokkaido 上記csvファイルの一番目の列の値を重複チェックします。 実行 $ cat test.csv | awk -F',' '{print$1}' | sort -n | uniq -c | awk '{ if ($1>1){ print $2}}' 4 5 実行結果から4と5が重複していることがわかります。 cat test.csv | awk -F',' '{print$1}' | sort -n test.csvファイルの値をカンマで区切った上で一番目の列の値を取得し、数字として昇順に並び替えます。 uniq -c 一番目の値が出てきた回数を、一番目の値の左隣りに出力します(※で詳細を説明します)。 awk '{ if ($1>1){ print $2}}' 重複した回数が1回より多いとき、csvファイルの1番目の値を出力します。 ※ $ cat test.csv | awk -F',' '{print$1}' | sort -n | uniq -c 1 1 1 2 1 3 3 4 2 5 1 6 先頭列に重複回数が挿入されます。 注意 $ cat test.csv | awk -F',' '{print$1}' | uniq -c | awk '{ if ($1>1){ print $2}}' 4 uniq -c このコマンドは、重複した値の数を数えますが、連続した値でないと数えてくれないので、 直前で sortコマンドを入れる必要があります。 関連リンク
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む