「Linux」カテゴリーアーカイブ

VPSにPHPを入れる

前回はVPSにnginxを入れました。

今回はPHPを入れて、nginxと連携させます。

まずはインストール

$ sudo apt-get install php php-fpm php-mysql

PHPプラグインを有効化

$sudo vi /etc/php/7.4/fpm/php.ini

cgi.fix_pathinfo=0

phpプラグインを再起動

$ sudo systemctl restart php7.4-fpm

nginxの設定

$ sudo vi /etc/nginx/sites-available/default

serverの項を書き換えます

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;

server_name [ドメイン名];

location / {
try_files $uri $uri/ =404;
}

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

設定を読み込む

$ sudo systemctl reload nginx

お次はPHPが動いていることの確認

$ vi /var/www/html/info.php

以下のコードを書く。

これはPHPの情報を一覧に表示するコード

<?php

phpinfo();

?>

保存したらブラウザでinfo.phpにアクセスしてみる。

PHPの情報が表示されればOK!

VPSにHTTPサーバを立ち上げる

お次はHTTPサーバを立ち上げます。

今回はnginxを使用します。

Apatchも良かったのですが、全部コミコミでフル実装できる分、余り使わない機能も動いているので、少々重い。

しかし、nginxは必要な機能を別途組み込む必要がありますが、その分軽量です。

スペック的に非力なサーバならnginxを使用する方が良いと思ったわけです。

早速インストール。

$ sudo apt-get install nginx

インストールが終われば、

# service nginx start

ブラウザで

http://[ドメイン名]/

にアクセスして、

Welcome to nginx!

と表示されればOKです。

wwwのルートは

/var/www/html/

です。

VPSサーバにドメインを関連付ける

VPSにサーバを立ち上げましたが、

サーバにアクセスするのにかっこ悪いホスト名が付けられています。

このままでは使いづらいので、ちゃんとしたドメインを付けてあげましょう。

お名前ドットコムなら.clubが30円で取得できます。

でも安いから競争率は高いです。

ドメインの獲得は早い者勝ちなので、VPS立ち上げたら、すぐに購入した方が良いでしょう。

運良くドメインが取れたら、すぐにドメインとIPアドレスを関連付けます。

VPSのIPアドレスをお名前ドットコムに登録する。

DNS関連設定からAレコードに、

[ドメイン名]とwww.[ドメイン名]の2つ、IPアドレスを設定します。

設定が完了して、登録すれば、最長72時間後に設定完了のメールが届きます。

(なので、ドメイン取ったらすぐに設定しましょう!)

お次はconoha側の設定です。

コントロールの逆引きホスト名の欄に、お名前ドットコムで取得したドメイン名を設定します。

これで設定完了。

sshからホスト名で接続してみましょう。

接続できれば設定完了です。

VPSでサーバを立ち上げる!

VPSとはクラウド上にサーバを立ち上げることができます。

レンタルサーバと違うのは、レンタルサーバは機能が制限されている代わりに、

いろいろな機能が簡単に使用することができます。

VPSになると、クラウド上に自分専用の仮想サーバを設置することができ、自由に設定できます。

自由になる分、機能を使用するには自分でサーバの設定を作らなければならず、高度な知識が要求されます。

でも今の連辣サーバでは物足りないと感じたため、VPSでサーバを立ち上げることにしました!

オイラが選択したのはConoha VPSです。

お手頃価格でそれなりのサーバを運用できます。

個人で使用するには十分ではないでしょうか。

OSはUbuntu16.04LTSを選択しました。

自宅で使用しているOSなので、使用しやすいでしょう。

と思ったんですが。

いろいろ勝手が違うもので。

いろいろメモしておきます。

まずはSSHでrootログイン。

キーを作った場合はダウンロードして保存しておく。

そのキーファイルを使用してログインする。

rootで使用し続けるのは危険なので、管理者ユーザーを作成。

# adduser [ユーザー名]

パスワード設定

# passwd [ユーザー名]

ユーザー作成を確認

# su [ユーザー名]

一度抜ける

$ exit

管理者ユーザーにsudo実行権を設定する。

# vi /etc/sudoers

%[ユーザー名]   ALL=(ALL:ALL) ALL

の行を追加。

(%はグループを表す。ユーザーの所属グループはユーザー名と同じ)

# su taki

sudoが使用できることを確認

$ sudo echo “aaaa”

SSHでログインする設定を行う

作成したユーザーのホームへ移動

$ cd ~

./.sshディレクトリ作成

$ mkdir .ssh

実行権の設定

$ chmod 700 .ssh

./.sshディレクトリへ移動

$ cd .ssh

ここで認証キーの作成を行う。

teratermでキーを作成し、秘密鍵、公開鍵を作成

公開鍵を/home/[ユーザー名]/.ssh/にauthorized_keysとして保存

一旦rootに戻る。

$ exit

公開鍵を使用したログインに設定変更

# vi /etc/ssh/sshd_config

AuthorizedKeysFile      %h/.ssh/authorized_keys

の先頭の#を消して保存

SSHを再起動

# service sshd restart

authorized_keysの実行権を変更

# su [ユーザー名]

$ sudo chown -R taki authorized_keys

これで、管理者ユーザーでsshログインできるはず。

秘密鍵を使ってログインできることを確認する。

rootでのsshログインを禁止する。

PermitRootLogin no

に変更。

SSHを再起動

$ exit

# service sshd restart

rootでsshログインできないことを確認。

sshのポート番号を変える

$ sudo vi /etc/ssh/sshd_config

Port [ポート番号]

22から大きな値(空いている番号)を書き込み保存

SSHを再起動

# service sshd restart

新しいポート番号でsshログインできることを確認

ポート番号22でログインできないことを確認

以上。

WSLにGUIを実装してみた

WSLとはWindows Sub system for Linux、つまり、Windowsで動かすことができるLinux実行環境です。

目的はgitをWSLで使いたいけどGUIがいいから使えるようにしたい、と言うことです。

基本的には、こちらに書かれている通りです。

https://qiita.com/MERIK/items/ef4ecf7a51f89c403e94

xfce4をインストールします。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xfce4-terminal
sudo apt-get install xfce4

日本語フォントをインストールします。

sudo apt install fonts-takao

環境設定します。.bashrcに記載します。

export DISPLAY=:0.0
export LIBGL_ALWAYS_INDIRECT=1

記載したらsource .bashrcで反映させる

VcXsrvを入れる。

https://sourceforge.net/projects/vcxsrv/

VcXsrvを起動。One Window’を選択し、Display numberは0とする。

WSLからstartxfce4を実行。

これでWindowが表示されます。

ブラウザが入っていないのでFireFoxをインストール

ブラウザからSmartGitをダウンロード

dpkg -iでdebパッケージをインストール

次に日本語が入力できるようにします。

https://mongonta.blog.fc2.com/blog-entry-239.html

mozcとfcitxをインストール

$ sudo apt -y install fcitx-mozc dbus-x11 x11-xserver-utils
$ cat << EOS >> .profile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export DefaultIMModule=fcitx
xset -r 49 # 半角全角点滅防止
EOS
$ source .profile

fcitxを実行し、mozcを入力メソッドに設定する

あとは日本語フォントをインストールすればOKだと思う。

Windows PCを分解するのです!(HDD全消去編)

おいらのiMacにMS Office 365 Soloを入れたことにより、

WindowsからMacへの環境移行は完了しました。

 

これで思い残すことはありません。

 

Windows PCを分解して、パーツを売るのです!

 

というのも、

おいらのWindows PCは第三世代Core i7。

それに対して、iMac(2015)は第五世代Core i5。

 

基本的に世代が後の方が性能が良いので、

次のWindows PC購入までのつなぎに、と考えたのです。

 

その一方で、

第三世代Core i7は、中古でもそこそこ言い値段していた。

なので、

売っても、そこそこの値段で買い取ってもらえるはず。

どうせなら、持ってるパーツ全部売ってしまおう。

次買うのはノートPCと決めているので。

 

というわけで、

まずはHDDの全消去をおこないます。

 

しかし、ただフォーマットしただけでは、

簡単にデータは復元できてしまいます。

個人情報が流出してしまうので、

ここはきちんと完全消去する必要があります。

 

オイラは、

ubuntu16.04のインストールディスクがあるので、

これをCDブートで起動し、

Linuxコマンドで消去しています。

 

Linuxを立ち上げたら、

ターミナルを起動し、次のコマンドを入力します。

# dd if=/dev/urandom of=/dev/sda
# dd if=/dev/urandom of=/dev/sda
# dd if=/dev/zero of=/dev/sda

root権限で実行することにご注意。

 

ちなみに、上は、

SATAで接続された一つ目の内蔵HDD(c:¥)が対象。

IDEの場合はhda、

二台目(d:¥)、三台目(e:¥)となると、

shb、shc、となります。

 

そして、二回ランダムライトアクセスを行った後、

一回ゼロライトアクセスをおこないます。

ちなみに、今日の朝、実行開始しましたが、

500GBのHDD消去、

まだ終わっていません。

 

明日の朝には終わっているかな〜

 

というわけで、続きはまた明日。

 

最後まで読んでいただき、ありがとうございました。

(゚゚)(。。)ペコッ

 

UbuntuにSambaで外付けHDDにアクセスできるようにする

やっとうまくできたのでまとめる。

 

参考にしたのはこちら

http://itemy.net/?p=664

 

まずは、内部HDDを共有化する。

手順は、参考サイトの通り。

 

Sambaのインストール

$sudo apt-get install samba

 

共有するディレクトリを作成

$sudo mkdir /home/public

$sudo chmod 777 /home/public

 

Sambaの設定

$sudo vi /etc/samba/smb.conf

修正箇所は以下

[global]
unix charset = UTF-8
dos charset = CP932

bind interfaces only = yes

[Public]
path = /home/public
writable = yes
guest ok = yes
guest only = yes
create mode = 0777
directory mode = 0777

 

Samba再起動

$sudo service smbd restart

 

Windowsからアクセスできることを確認する

 

では次に、外付けHDDに共有設定する。

パスはこちら。

/media/[ユーザー]/[機器名]/

こちらを設定ファイルに記入

 

[Samba]
path = /media/[ユーザー]/[機器名]
writable = yes
guest ok = yes
guest only = yes
create mode = 0777
directory mode = 0777

で、Sambaを再起動して、Windowsからアクセス。

・・・拒否られた。

 

こちらの設定ではアクセスできた。

[Samba]
path = /media

 

こちらは拒否られる

[Samba]
path = /media/[ユーザー]

 

この時点で原因判明。

/media/[ユーザー]のパーミッションだ!

$chmod 777 /media/[ユーザー]

 

これでようやくアクセスできることを確認!

長かった・・・

 

日曜日に起こった悲劇をまとめる

先週の日曜日は悲劇の連続でした。

 

まず、ラズパイが逝ってしまいました。

VNCで接続しようと思ったら

接続できなくて、

Linux PCが再起動でVNCで接続できたので、

ラズパイも再起動したら

有線LANが死んでた。

 

換えの無線LANも無いので、

Linux PCに機能を移行しようとして、

Sambaの設定をしようと思ったら、

復旧不可能な状態に。

Linux再インストール。

 

の途中で、

メインPCの有線LANも死んでしまいました。

このままじゃネットワークに繋がらないので、

Linux PCに使っていた無線LAN子機をメインPCに取り付け、

Linux PCには有線LANを接続。

 

と、やってる間にも

Linuxの再インストールを行っていたのですが、

どうしてもSambaの設定に失敗し、

再インストールを繰り返す事5回以上。

 

どうもGUIのSamba設定ツールがダメみたいで、

設定を保存したら

Samba立ち上がらないわ、

GUIツールも使えなくなるわで

もうわや。

 

Sambaの設定はGUIに頼っちゃいけません。

あと、そろそろ新しいPCも欲しい。

そろそろ限界に近い。

もう6年も使ってるんかー

 

スマホもそろそろ限界に来ていて、

Xperia Z5なんですが、

とにかく発熱がすごくて、

ゲームをしていると、

処理が重くなったり、

突然フリーズしたりして心臓に悪い。

 

いっそうのこと、物理的に破壊されて、

新しいPCとスマホねだろうかな・・・

 

Sambaについては、

今仮想マシンで設定を試してから

実機に設定する予定です。

GUIはもう使わん。

 

ローカルネットワークにgitリポジトリを作る

いろいろ試したんだけど、

どうやらwindowsからは上手くできないみたい。

なんか、暗号鍵やpgp署名を上手く設定しなくちゃいけないて

結局そのやり方がわからなかった。

 

でもLinuxからはちゃんとできた。

なぜだろう・・・

 

まずはリモート側。

$ mkdir project.git

$ cd project.git

$ git init –bare

これでリモートリポジトリを初期化

 

次はローカル側

$ mkdir project

$ cd project

$ git init

$ git add .

$ git commit -m “message” -a

$ git remote add origin ssh://ユーザ@IPアドレス/project.gitのパス

$ git push origin master

 

あとは、ファイルを更新したら、

$ git add .

$ git commit -m “message” -a

$ git push origin master

でリモートにプッシュできる