Linux(Debian)
VirtualBox に Debian を インストールする。
Macのバージョン macOS Sierra 10.12.4 VirtualBox バージョン 5.1.18 r114002 (Qt5.6.2)
debian-8.7.1-amd64-netinst
VirtualBoxにDebianの仮想環境を構築する。
-
- 言語の選択: 日本語
- 場所の選択: 日本
- 場所の選択: 日本
- キーボードの選択: 各キーボードレイアウトに合わせる。今回は日本語
- ホスト名: debian
- ドメイン名: 各自のドメイン名に設定する。今回は local
- rootのパスワード: 各自パスワードを設定する。
- rootのパスワード: 各自パスワードを設定する。
- ユーザーとパスワードのセットアップ: 各自設定する。
- 新しいユーザーの本名: hirotaka
- アカウントのユーザー名は hiro
- ここでセットアップしたユーザーはrootとは別の管理者権限のない作業ユーザー。
- ディスクのパーティショニング: 今回はディスク全体を使う。
- システムを止めずにディスクの追加、論理ボリュームの拡張、暗号化を行う場合はLVM,暗号化LVMを選択する。
- ティショニングするドライブを選択する。
- パーティショニングの構成: 今回は全てのファイルを1つのパーティションにする。
- homeなどを分離する場合は要件にあったものを選択。
- Debianアーカイブミラー: 日本(現在住んでいる国 or 最も近い場所)
- 国内のDebianアーカイブミラー: 今回は ftp.jp.debian.org
- HTTPプロキシの情報: 今回は必要ないので空白
- 利用したパッケージの統計値を開発者に匿名で提出するか選びます。
- ソフトウェアのインストール。
パッケージ管理システム(apt)の基本操作
===追加===
‘’‘新しいソフトウェアのインストール’‘'(root権限が必要)
# apt-get install ''パッケージ名''
‘’‘ソースパッケージのダウンロード’‘’
# apt-get source ''パッケージ名''
‘’‘ソースパッケージをコンパイルする為に必要なパッケージのインストール’‘'(root権限が必要)
# apt-get build-dep ''パッケージ名''
=== 更新 ===
‘’‘リポジトリの更新’‘'(root権限が必要)
# apt-get update
‘’‘インストール済みのソフトウェアの更新’‘'(root権限が必要)
# apt-get upgrade
‘’‘ディストリビューションのアップグレード’‘'(root権限が必要)
# apt-get dist-upgrade
=== 検索・情報表示 ===
‘’‘パッケージの検索’‘’
# apt-cache search ''検索キーワード''
‘’‘特定パッケージの情報表示’‘’
# apt-cache show ''パッケージ名''
=== 削除 ===
‘’‘特定パッケージの削除’‘'(root権限が必要)
# apt-get remove ''パッケージ名''
‘’‘特定パッケージの設定ファイルを含めた削除’‘'(root権限が必要)
# apt-get purge ''パッケージ名''
‘’‘不要なパッケージの自動削除(依存されていないライブラリ等)’‘'(root権限が必要)
# apt-get autoremove
Webアプリケーションを動かすのに必要なパッケージをインストールして設定する。
1. sudo ワンショットでユーザーがスーパーユーザーの特権レベルを利用出来る。 2. SSH 暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。 3. SSL インターネット上で通信を暗号化する。第三者によるデータの盗聴や改ざんなどを防ぐ。 4. MySQL 人気があるデータベース。
=== sudo ===
—rootユーザーでログイン—
- sudoをインストール
# apt-get install sudo
- sudoを使えるユーザーを登録する
# adduser "ユーザー名" sudo
—rootユーザーをログアウト後、特権のない別のユーザーでログイン—
$ sudo apt-get install vim
=== SSH ===
$ sudo apt-get install ssh
- virtualboxの設定
環境設定 > ネットワーク > ホストオンリーネットワーク で 固定したいIPのゲートウェイを追加。
とりあえず今回はdefaultの192.168.56.1を設定。
次にVM(インストールしたDebian)にホストオンリーネットワークを設定。
- Debianのネットワーク設定
/etc/network/interfacesにホストオンリーネットワークのゲートウェイと静的IPアドレスを追加
$ sudo vim /etc/network/interfaces
auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1MacのterminalからDebianのアカウントにログイン
$ ssh debianのusername@192.168.56.101(設定した静的IPアドレス)
#Macのterminal- rootでのSSHログインを禁止。
$ sudo vim /etc/ssh/sshd_config
PermitRootLogin without-password (パスワードではログイン禁止)になっているので
PermitRootLogin no に編集する。(SSHでのログインも禁止)# /etc/init.d/sshd restart
でSSHの設定を反映します。Macからrootでログインすると「Permission denied, please try again.」というアラートが表示され、rootでのSSHログインができなければOKです。
Debian(サーバー)に ~/.ssh フォルダをパーミッション付きで作成
$ pwd
# Debianの現在のパス/home/user
$ sudo mkdir -m 700 .ssh
$ ssh-keygen -t rsa -f debian_rsa
# Mac(クライアント)debian_rsa #秘密鍵 debian_rsa.pub #公開鍵
Debian(サーバー)にMacで先ほど作ったdebian_rsa.pub(公開鍵)をscpを使って送ります。
Mac(クライアント)terminalから
$ pwd
#Macの現在のパス/Users/“ユーザ名”/.ssh
$ scp ./id_rsa.pub username@192.168.56.101(設定した静的IPアドレス):/home/"サーバー側のユーザ名"/.ssh/authorized_keys
実際にDebianに送れたか確認。
$ ls -la ~/.ssh
# authorized_keysがあればOKauthorized_keys ファイルのパーミッションは 0600 に変更
$ sudo chmod 600 authorized_keys
AuthorizedKeyを有効にしてパスワード認証を禁止する。
$ sudo vim /etc/ssh/sshd_config
#PasswordAuthentication yes
PasswordAuthentication no (パスワード認証の設定をコメントアウトして禁止する。)SSHの設定を反映します。
sudo /etc/init.d/ssh restart
パスワード認証ログインを禁止したのでPermission denied (publickey).になる。
デフォルトのPort 22を変更、AuthorizedKeyを有効にしてSSH認証ログインのみにする。
$ sudo vim /etc/ssh/sshd_config
#AuthorizedKeysFile %h/.ssh/authorized_keys
AuthorizedKeysFile %h/.ssh/authorized_keys (コメントアウトする。)Port 22
Port 2288 (defaultポートを変更する。2288は適当)SSHの設定を反映します。
sudo /etc/init.d/ssh restart
ポートを変更したのでdefaultポート(22)ではログインできない。
Mac(クライアント)から初回のみ-iオプションで秘密鍵を指定する。
$ ssh -i ~/.ssh/debian_rsa username@192.168.56.101(設定した静的IPアドレス) -p 2288
macOS SierraではSSHキーを覚えてくれないのでちょっとした設定が必要 ~/.ssh/config を作る。
vim ~/.ssh/config
# Debianサーバー Host debian HostName 192.168.56.101 User hiro IdentityFile ~/.ssh/debian_rsa Port 2288 TCPKeepAlive yes IdentitiesOnly yes
$ ssh debian
でログインできる。=== SSL ===
$ sudo apt-get install openssl
- SSLとは
インターネットなどのコンピュータネットワークにおいてセキュリティを要求される通信を行うためのプロトコルである。主な機能として、通信相手の認証、通信内容の暗号化、改竄の検出を提供する。
使い方など詳しいことは次の記事でNginxと一緒にまとめます。
- === MySQL ===
MySQL :: Download MySQL APT Repository
$ mkdir ~/src
srcフォルダを作成
$ cd ~/src
今作ったsrcフォルダに移動
$ wget https://dev.mysql.com/get/mysql-apt-config_0.8.4-1_all.deb
wgetで先ほどコピーしてきたURLからdebパッケージをダウンロードする。
$ sudo dpkg -i mysql-apt-config_0.8.4-1_all.deb
ダウンロードしたdebパッケージをdpkgでインストールする.。
$ sudo apt-get update
リポジトリをアップデート
$ sudo apt-get install mysql-server
最新のMysqlをインストールMySQLのrootパスワードを設定します。
- MySQLサーバの起動、再起動と停止
$ sudo /etc/init.d/mysql start
開始
$ sudo /etc/init.d/mysql stop
終了
$ sudo /etc/init.d/mysql restart
再起動
$ sudo /etc/init.d/mysql stop
終了
- MySQLの設定、確認
$ mysqladmin -u root password 'new-password'
管理者パスワードの変更
$ netstat -atn
MySQLサーバは3306番ポートを利用します。netstatコマンドを実行して、 3306番ポートが開かれているか確認できます。
$ mysqladmin -u root -p ping
MySQLサーバの動作は、mysqladminコマンドを使っても確認することが できます。
- MySQLクライアントの操作
$ mysql -u root -p
MySQLサーバに接続してコマンドラインで操作をする
- データベースへの接続、操作
$ mysql -u root -p
MySQLサーバに接続してコマンドラインで操作をする
mysql> SHOW DATABASES;
データベースの確認。
mysql> USE '接続するデータベース';
データベースに接続する。
mysql> SELECT DATABASE();
現在接続しているデータベースの確認。
- データベースの作成
mysql> CREATE DATABASE ’作成するデータベース’;
- データベースの削除
mysql> DROP DATABASE ’削除するデータベース’;
- データベースユーザーの作成
mysql> CREATE USER 'ユーザ名'@'ホスト' IDENTIFIED BY 'パスワード’;
- 作成したユーザーに権限を設定する。
mysql> GRANT ALL ON 権限を許可するデータベース.* TO 'ユーザ名'@ 'ホスト' IDENTIFIED BY 'パスワード';
- データベースユーザーパスワードの変更
mysql> SET PASSWORD FOR ユーザ名@ホスト=pass word('新しいパスワード');
- データベースユーザーの削除
mysql> DROP USER ユーザ名@ホスト
- テーブルの作成
mysql> CREATE TABLE テーブル名 (列1, 列2, 列3,.....);
世界最大の怖い話サイト
まず、莫大な量の怖い話、怖い漫画があります。
また、他にもオーパーツやUFO,宇宙人などの話もあります。
これがまた面白くて仕事の合間に読んだりもしています。
iPhone アプリもあるよ。