HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

2017/08/11

Raspberry Piに nginx + MySQL + PHP + Perl 構成の LEMP Webサーバを構築する方法 Raspberry Piに nginx + MySQL + PHP + Perl 構成の LEMP Webサーバを構築する方法

(ラズパイで Webサービス LEMP Stackを構築、nginx + PHP + Perl(UNIXドメインソケット方式))

Tags: [Raspberry Pi], [電子工作]





● Raspberry Pi 3 Model Bを遂に購入

 Raspberry Pi3 Model B RPI2 RPI3

 大人気の CPUボードの Raspberry Piに WiFiと Bluetoothが搭載されたモデルが新発売となりました。
 以前から Raspberry Pi 2を買おうかどうか迷っていましたが、Raspberry Pi 3 Model Bの発売を機に購入を決意してラズベリアンになる事にしました。

 ※ ラズパイの OS Raspbianはバージョンが上がる毎に過去の版と OSの内部の作りが変わり、過去に書かれた製作記事(例えば Raspbian Wheezyの時代の記事)がそのままではエラーが出たりして動かない事が有ります。
 ※ 当方のホームページのラズパイ記事は全て Raspberry Pi 3 Model Bと Raspbian Jessieの組み合わせで動作確認をしております。
(ただし、将来的に新しい Raspbian OSが出た場合に、当方の Raspbian Jessieを基にした内容がそのままでは動かない可能性が有ります。)
 ※ 2017/08/16から Raspbian OSは Raspbian Jessieから Raspbian Stretchに変わりました。
 ※ 2019/06/20から Raspbian OSは Raspbian Stretchから Raspbian Busterに変わりました。

Download Raspbian for Raspberry Pi

ちなみに、歴代のバージョンと名称は
Debianコードネーム年月備考(参考)Ubuntuでの該当名称
Debian 11Bullseye2021/08/14~2021/11からラズパイにリリースFocal Fossa 20.04 LTS ?
Debian 10Buster2019/06/20~2019/06からラズパイ4対応Bionic 18.04 LTS
Debian 9Stretch2017/08/16~2018/03からラズパイ3B+対応Xenial 16.04 LTS
Debian 8Jessie2015~2016/02からラズパイ3対応Trusty 14.04 LTS
Debian 7Wheezy2013~2016
Debian 6.0Squeeze2011~2014
Debian GNU/Linux 5.0Lenny2009~2012


●ラズパイで Webサーバを構築する方法

 使用した Raspbian OSのバージョン
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU/Linux

pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.1 (stretch)
Release:        9.1
Codename:       stretch


●おまけ: 軽量な Webサーバ Lighttpdをラズパイにインストールする方法

 下記にまとめました。

2017/08/11
Raspberry Piに LLMP Lighttpd + MySQL + PHP + Perl 構成の Webサーバを構築する方法
Raspberry Piに LLMP Lighttpd + MySQL + PHP + Perl 構成の Webサーバを構築する方法

  ラズパイで Webサービスを動かす、Lighttpd + PHP + Perl + Python + Ruby CGIの LLMP stackを構築


●おまけ: Apache2 Webサーバをラズパイにインストールする方法

 下記にまとめました。

2017/08/11
Raspberry Piに LAMP構成の Apache MySQL PHP Perl phpMyAdminの Webサーバを構築する方法
Raspberry Piに LAMP構成の Apache MySQL PHP Perl phpMyAdminの Webサーバを構築する方法

  ラズパイで一般的な Webサービスを動かす場合に必要なアプリが入った LAMP stackを構築


● ラズパイを意識した別物製品 Orange Pi PC 2でも同じ手順で LEMP Stackサーバを構築できました。

 下記にまとめました。

2017/03/28
Orange Pi PC 2を買ってみた、Allwinner H5 Cortex-A53 4core ARM64
Orange Pi PC 2を買ってみた、Allwinner H5 Cortex-A53 4core ARM64

  ラズパイを意識した別物製品、オレンジパイはラズパイよりもコスパが良い、でも情報が無い


●軽量な Webサーバ nginxをラズパイにインストールする方法

 軽量な Webサーバ nginx
nginx
 nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev.

 Apacheサーバの LAMPに対して nginxサーバの LNMPとも言えます。
 正確には LEMP Stackと言います。Linux, nginx, MySQL, PHP (LEMP) stack .
 nginxなのに何故 "E"なの?
 nginxを Engine-Xと発音するので、発音の音感を重視したから。あと、そもそも LNMPって発音しにくいよね。

LEMP Stack Resources
 What’s a LEMP stack?

 LEMP is a variation of the ubiquitous LAMP stack used for developing and deploying web applications. Traditionally, LAMP consists of Linux, Apache, MySQL, and PHP. Due to its modular nature, the components can easily be swapped out. With LEMP, Apache is replaced with the lightweight yet powerful Nginx.

 nginxで PHP7、Perl CGIが動きます。UNIX ドメイン ソケット方式 プロセス間通信。
 UNIX domain socket = プロセス間でデータを交換する。名前付きパイプに類似した機能。

#
sudo apt-get update

sudo apt-get -y install nginx

# http://{ラズパイの IPアドレス}/
# Welcome to nginx!

 パソコンでブラウザを開いて、URL欄に下記をそれぞれ入力します。
http://{ラズパイの IPアドレス}/
・軽量な Webサーバ nginxをラズパイにインストールする方法
軽量な Webサーバ nginxをラズパイにインストールする方法

systemctl status nginx.service
# [q] to Quit

sudo apt install -y php-fpm

cat /etc/nginx/sites-available/default | grep index
cat /etc/nginx/sites-available/default | grep php

sudo nano /etc/nginx/sites-available/default

        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;


        # pass PHP scripts to FastCGI server
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        }

 sedコマンドによる置換で楽して /etc/nginx/sites-available/defaultを書き換え。
sudo sed -i -e "s/index index.html/index index.php index.html/g" /etc/nginx/sites-available/default

sudo sed -i -e "s/\#location ~ \\\\.php/location ~ \\\\.php/g" /etc/nginx/sites-available/default
sudo sed -i -e "s/\#\\s*include snippets\/fast/  include snippets\/fast/g" /etc/nginx/sites-available/default
sudo sed -i -e "s/\#\\s*fastcgi_pass unix/  fastcgi_pass unix/g" /etc/nginx/sites-available/default
sudo sed -i -e "s/:9000;$/:9000;\n        }/g" /etc/nginx/sites-available/default

sudo service nginx restart

# sudo nano /var/www/html/phpinfo.php
# phpinfo.php
echo "<?php phpinfo(); ?>">phpinfo.php
sudo cp phpinfo.php /var/www/html/

# http://{ラズパイの IPアドレス}/phpinfo.php

 nginxで PHP7、Perl CGIが動きます。
 プロセス間通信に UNIX ドメイン ソケット方式を使うので高速で動きます。

#========
# install spawn-fcgi fcgiwrap
sudo apt-get -y install spawn-fcgi fcgiwrap

# Edit /etc/nginx/sites-available/default file
sudo nano /etc/nginx/sites-available/default

        # Add index.php to the list if you are using PHP
        index index.php index.cgi index.html index.htm index.nginx-debian.html;

        # Perl FastCGI
        location ~ \.cgi$ {
            # gzip off;
            include /etc/nginx/fastcgi_params;
            fastcgi_pass unix:/var/run/fcgiwrap.socket;
            fastcgi_index index.cgi;
            # /var/www/cgi-bin/hoge.cgi
            fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;

            # /var/www/html/cgi-bin/hoge.cgi
            # fastcgi_param SCRIPT_FILENAME /usr/lib$fastcgi_script_name;
            # /usr/lib/cgi-bin/hoge.cgi
            # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            # fastcgi_ignore_client_abort on;
            # 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;
        }

 sedコマンドによる置換で楽して /etc/nginx/sites-available/defaultを書き換え。
sudo sed -i -e "s/ index.html index.htm / index.cgi index.html index.htm /g" /etc/nginx/sites-available/default

sudo sed -i -e "s/^}$/\n  location ~ \\.cgi\$ {\n    include \/etc\/nginx\/fastcgi_params;\n    fastcgi_pass unix:\/var\/run\/fcgiwrap.socket;\n    fastcgi_index index.cgi;\n    fastcgi_param SCRIPT_FILENAME \/var\/www\$fastcgi_script_name;\n  }\n}\n/g" /etc/nginx/sites-available/default

#
cat /etc/init.d/fcgiwrap | grep FCGI_

# No need to Edit /etc/init.d/fcgiwrap
sudo nano /etc/init.d/fcgiwrap

# FCGI_APP Variables
FCGI_CHILDREN="1"
FCGI_SOCKET="/var/run/$NAME.socket"
FCGI_USER="www-data"
FCGI_GROUP="www-data"


# Restart cgi and nginx server
sudo /etc/init.d/fcgiwrap restart
sudo service nginx restart

ls -l /var/run/fcgiwrap.socket


# mkdir /var/www/cgi-bin/
sudo mkdir /var/www/cgi-bin/

# /var/www/cgi-bin/test_perl_cgi.cgi
echo '#!/usr/bin/perl'>test_perl_cgi.cgi
echo ''>>test_perl_cgi.cgi
echo 'print "Content-type:text/plain\n\n";'>>test_perl_cgi.cgi
echo 'print "Test Perl CGI";'>>test_perl_cgi.cgi
chmod +x test_perl_cgi.cgi
sudo cp test_perl_cgi.cgi /var/www/cgi-bin/
# http://{serverip}/cgi-bin/test_perl_cgi.cgi

# http://{ラズパイの IPアドレス}/cgi-bin/test_perl_cgi.cgi



● nginxで MySQLと PHP PDOをインストール

 php-mysqlと mysql-serverをインストール(これで、LEMPを名乗れる!)
# pdo_mysql PDO Driver for MySQL enabled
# Client API version mysqlnd 5.0.12-dev - 20150407
sudo apt-get -y install php-mysql
sudo service nginx restart

# MySQL MariaDB Server version: 10.1.23-MariaDB-9+deb9u1 Raspbian 9.0
sudo apt-get -y install mysql-server


● nginxに phpMyAdminをインストール。バージョン情報 4.6.6deb4。

 nginxでも phpMyAdminをインストールして動かせます。

phpMyAdmin

# phpMyAdmin 4.6.6-4
sudo apt-get -y install phpmyadmin

ls -l -d /usr/share/phpmyadmin
# drwxr-xr-x 10 root root 4096 Aug 31 11:48 /usr/share/phpmyadmin

ls -l /var/www/html/
# drwxr-xr-x 2 root root 4096 Aug 29 15:44 cgi-bin
# -rw-r--r-- 1 root root 2890 Aug 30 13:57 hoge_pdo.php
# -rw-r--r-- 1 root root  612 Aug 29 15:24 index.nginx-debian.html
# -rw-r--r-- 1 root root   24 Aug 29 15:31 phpinfo.php

# Restart php7.0-fpm cgi
sudo service php7.0-fpm restart

# Restart nginx web server service
sudo systemctl stop nginx.service
sudo systemctl start nginx.service

# /var/www/html/phpmyadmin
# http://{serverip}/phpmyadmin
sudo ln -s /usr/share/phpmyadmin /var/www/html

# インストールの途中で質問のダイアログが表示されます。
# Web server to reconfigure automatically: - Apache2も lighthttpdも選択しない
# Configuring phpmyadmin - <Ok>
# Configure database - <Yes>
# MySQL application password for phpmyadmin: - パスワード(任意)
# Password confirmation: - 確認用パスワード(上で入力したの同じ)
# ※ phpMyAdminのユーザー名は phpmyadminです。
# http://{ラズパイの IPアドレス}/phpmyadmin/

ls -l /var/www/html/
# drwxr-xr-x 2 root root 4096 Aug 29 15:44 cgi-bin
# -rw-r--r-- 1 root root 2890 Aug 30 13:57 hoge_pdo.php
# -rw-r--r-- 1 root root  612 Aug 29 15:24 index.nginx-debian.html
# -rw-r--r-- 1 root root   24 Aug 29 15:31 phpinfo.php
# lrwxrwxrwx 1 root root   21 Aug 31 11:54 phpmyadmin -> /usr/share/phpmyadmin

● nginxに phpMyAdminをインストールする場合の phpMyAdminの初期設定の方法

・nginxに phpMyAdminをインストール。phpMyAdminの初期設定の方法
nginxに phpMyAdminをインストール。phpMyAdminの初期設定の方法
# Web server to reconfigure automatically: - Apache2も lighthttpdも選択しない
# Configuring phpmyadmin - <Ok>

・nginxに phpMyAdminをインストール。phpMyAdminの初期設定の方法
nginxに phpMyAdminをインストール。phpMyAdminの初期設定の方法
# Configure database - <Yes>

・nginxに phpMyAdminをインストール。phpMyAdminの初期設定の方法
nginxに phpMyAdminをインストール。phpMyAdminの初期設定の方法
# MySQL application password for phpmyadmin: - パスワード(任意)

・nginxに phpMyAdminをインストール。phpMyAdminの初期設定の方法
nginxに phpMyAdminをインストール。phpMyAdminの初期設定の方法
# Password confirmation: - 確認用パスワード(上で入力したの同じ)


● phpMyAdmin MySQLサーバー管理アプリにログインする
 phpMyAdminにログインする。

 パソコンでブラウザを開いて、URL欄に下記を入力します。
http://{ラズパイの IPアドレス}/phpmyadmin/
 ※ phpMyAdminのユーザ名は phpmyadminです。

・phpMyAdmin MySQLサーバー管理アプリにログインする
phpMyAdmin MySQLサーバー管理アプリにログインする


・phpMyAdmin MySQLサーバー管理アプリにログインする
phpMyAdmin MySQLサーバー管理アプリにログインする


 ※外部に公開するサーバの場合は /phpmyadmin/へのアクセスをできない様に設定で遮断する。そもそもの phpmyadminをアンインストールするのがセキュリティ面で安全です。



● PHPの設定ファイル php.iniの cgi.fix_pathinfoの編集の必要性の有無

 PHPの設定ファイル php.iniの cgi.fix_pathinfoの編集の必要性は?
 PHPの解説サイトでは php.iniの cgi.fix_pathinfoを下記の様に変更しろと有ります。
cgi.fix_pathinfo=0

 本当に必要かどうか調べてみました。
$ cat /etc/php/7.0/fpm/php.ini | grep fix_
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
;cgi.fix_pathinfo=1

 上記の様に
;cgi.fix_pathinfo=1
 と先頭にセミコロン文字が有ってコメント化されています。
 なので
cgi.fix_pathinfo=0
 に追加等の php.iniの変更作業は不要と考えます。



● PHPの PDOで MySQLを操作する方法

 MySQLにユーザーを登録する
MySQL Username: hoge_user
MySQL Password: hoge_pass
MySQL Database: HOGE_DB
User Privileges: GRANT ALL PRIVILEGES
# sudoで rootユーザーで mysqlにログインする
$ sudo mysql -u root
# Server version: 10.1.23-MariaDB-9+deb9u1 Raspbian 9.0

# hoge_userを作成する
MariaDB [(none)]> CREATE USER hoge_user;

# CREATE USER hoge_user IDENTIFIED BY [PASSWORD] 'hoge_pass';
# はエラーになります。

# hoge_userのパスワード hoge_passを設定する
MariaDB [(none)]> SET PASSWORD FOR 'hoge_user'=password('hoge_pass');

# 作成したユーザー情報を確認する
MariaDB [(none)]> SELECT user,host,password FROM mysql.user;
# +-----------+-----------+-------------------------------------------+
# | user      | host      | password                                  |
# +-----------+-----------+-------------------------------------------+
# | root      | localhost |                                           |
# | hoge_user | %         | *1234567890123456789012345678901234567890 |
# +-----------+-----------+-------------------------------------------+

# hoge_userにデータベース HOGE_DBに対する全ての権限を付与する
# ALL PRIVILEGES
MariaDB [(none)]> GRANT ALL PRIVILEGES ON `HOGE_DB`.* TO 'hoge_user'  IDENTIFIED BY 'hoge_pass';

# hoge_userにデータベース HOGE_DBを操作するだけの権限を付与する
# operate TABLE only
# MariaDB [(none)]> GRANT select,update,insert,delete ON `HOGE_DB`.* TO 'hoge_user' IDENTIFIED BY 'hoge_pass';

# hoge_userの権限を確認する
MariaDB [(none)]> SHOW GRANTS FOR 'hoge_user';

# hoge_userを削除する
# MariaDB [(none)]> drop user 'hoge_user'@'%';

● PHPの MySQL PDOのサンプルプログラム。
# http://{serverip}/hoge_pdo.php
sudo nano /var/www/html/hoge_pdo.php
<?php
$servername = "localhost";
$username = "hoge_user";
$password = "hoge_pass";

try {

    echo "==== PDO<br>";
    $pdo = new PDO("mysql:host=$servername", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "PDO successfully<br><br>";

    echo "==== CREATE DATABASE<br>";
    $sql = "CREATE DATABASE IF NOT EXISTS HOGE_DB";
    $pdo->exec($sql);
    echo "CREATE DATABASE successfully<br><br>";

    echo "==== use DB<br>";
    $sql = "use HOGE_DB";
    $pdo->exec($sql);
    echo "use DATABASE successfully<br><br>";

    echo "==== CREATE TABLE<br>";
    $sql = "CREATE TABLE IF NOT EXISTS HOGE_TABLE (
                HOGE_ID int(11) AUTO_INCREMENT PRIMARY KEY,
                HOGE_TEXT varchar(32) NOT NULL)";
    $pdo->exec($sql);
    echo "CREATE TABLE successfully<br><br>";


    echo "==== SELECT<br>";
    $sql = "SELECT * FROM HOGE_TABLE";
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    while($result = $stmt->fetch(PDO::FETCH_ASSOC)){
        print($result['HOGE_ID']);
        print($result['HOGE_TEXT'].'<br>');
    }
    echo "SELECT successfully<br><br>";


    echo "==== DELETE<br>";
    $sql = "DELETE FROM HOGE_TABLE WHERE HOGE_ID = :id";
    $stmt = $pdo->prepare($sql);
    $stmt->bindValue(':id', 3, PDO::PARAM_INT);
    $stmt->execute();
    echo "DELETE successfully<br><br>";

    $sql = "DELETE FROM HOGE_TABLE WHERE HOGE_ID = :id";
    $stmt = $pdo->prepare($sql);
    $stmt->bindValue(':id', 5, PDO::PARAM_INT);
    $stmt->execute();
    echo "DELETE successfully<br><br>";

    echo "==== SELECT<br>";
    $sql = "SELECT * FROM HOGE_TABLE";
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    while($result = $stmt->fetch(PDO::FETCH_ASSOC)){
        print($result['HOGE_ID']);
        print($result['HOGE_TEXT'].'<br>');
    }
    echo "SELECT successfully<br><br>";

    echo "==== INSERT 1<br>";
    $sql = "INSERT INTO HOGE_TABLE (HOGE_ID, HOGE_TEXT) VALUES (:ID, :TEXT)";
    $stmt = $pdo -> prepare($sql);
    $id_val = 5;
    $hoge_text_val = "HOGE_VAL_5";
    $stmt->bindParam(':ID', $id_val, PDO::PARAM_INT);
    $stmt->bindParam(':TEXT', $hoge_text_val, PDO::PARAM_STR);
    $stmt->execute();
    echo "INSERT INTO 1 successfully<br><br>";

    echo "==== INSERT 2<br>";
    $stmt = $pdo -> prepare($sql);
    $stmt->bindValue(':ID', 3, PDO::PARAM_INT);
    $stmt->bindValue(':TEXT', "HOGE_PDO_3", PDO::PARAM_STR);
    $stmt->execute();
    echo "INSERT INTO 2 successfully<br><br>";


    echo "==== SELECT<br>";
    $sql = "SELECT * FROM HOGE_TABLE";
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    while($result = $stmt->fetch(PDO::FETCH_ASSOC)){
        print($result['HOGE_ID']);
        print($result['HOGE_TEXT'].'<br>');
    }
    echo "SELECT successfully<br><br>";

}
catch(PDOException $e)
{
    echo $sql . "<br>" . $e->getMessage();
}

$pdo = null;
?>

● http://{serverip}/hoge_pdo.php
==== PDO
PDO successfully

==== CREATE DATABASE
CREATE DATABASE successfully

==== use DB
use DATABASE successfully

==== CREATE TABLE
CREATE TABLE successfully

==== SELECT
3HOGE_PDO_3
5HOGE_VAL_5
SELECT successfully

==== DELETE
DELETE successfully

DELETE successfully

==== SELECT
SELECT successfully

==== INSERT 1
INSERT INTO 1 successfully

==== INSERT 2
INSERT INTO 2 successfully

==== SELECT
3HOGE_PDO_3
5HOGE_VAL_5
SELECT successfully



Tags: [Raspberry Pi], [電子工作]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

Raspberry Piで Googleの Go言語 + Gin Webフレームワークをインストールして Webアプリを作る
Raspberry Piで Googleの Go言語 + Gin Webフレームワークをインストールして Webアプリを作る

  Raspberry Piで Googleの Go言語 + Gin Webフレームワークをインストールして Webアプリを作る

Raspberry Piで WebAPIモックサーバー JSON Serverを動かしてみるテスト
Raspberry Piで WebAPIモックサーバー JSON Serverを動かしてみるテスト

  Raspberry Piで APIモックサーバー JSON Serverを動かしてみるテスト

Raspberry Piに LAMP構成の Apache MySQL PHP Perl phpMyAdminの Webサーバを構築する方法
Raspberry Piに LAMP構成の Apache MySQL PHP Perl phpMyAdminの Webサーバを構築する方法

  ラズパイで一般的な Webサービスを動かす場合に必要なアプリが入った LAMP stackを構築

Raspberry Piに LLMP Lighttpd + MySQL + PHP + Perl 構成の Webサーバを構築する方法
Raspberry Piに LLMP Lighttpd + MySQL + PHP + Perl 構成の Webサーバを構築する方法

  ラズパイで Webサービスを動かす、Lighttpd + PHP + Perl + Python + Ruby CGIの LLMP stackを構築

Raspberry Piの Webサーバに PHP MySQL PDOを入れて PHP CGIから MySQLを操作する方法
Raspberry Piの Webサーバに PHP MySQL PDOを入れて PHP CGIから MySQLを操作する方法

  Raspberry Piの Webサーバに PHP MySQL PDOを入れて PHP CGIから MySQLを操作する方法

Raspberry Pi 3 Model Bで CMSフレームワーク WordPressをセットアップする方法
Raspberry Pi 3 Model Bで CMSフレームワーク WordPressをセットアップする方法

  ラズパイ3で WordPressをインストールする方法

Raspberry Pi3を Gitサーバとして設定する方法、Git単体と GitLabを使用する方法
Raspberry Pi3を Gitサーバとして設定する方法、Git単体と GitLabを使用する方法

  ラズパイ3でローカルの Gitサーバを動かす方法。GitLabをインストールする方法

Raspberry Pi3に Postfixメールサーバーを Gmailの SMTPをリレーとして立てる方法
Raspberry Pi3に Postfixメールサーバーを Gmailの SMTPをリレーとして立てる方法

  Raspbian Jessieで Postfix Mail serverを Gmailの SMTPを中継サーバとして設定する方法

Gitでリモートにプッシュした内容を完全に無かった事にする方法
Gitでリモートにプッシュした内容を完全に無かった事にする方法

  いわゆる Gitでやらかした時に使える最強奥義 git reset --hard HEAD~; git push -f

Raspberry Piに Avahi Bonjourサービスを入れて、ホスト名で接続できる様にする方法
Raspberry Piに Avahi Bonjourサービスを入れて、ホスト名で接続できる様にする方法

  ラズパイに Bonjourサービスを入れて IPアドレスが分からなくてもホスト名で簡単に接続する方法

Raspberry Piや Jetson NANO等をネットワークに接続した場合の IPアドレスの便利ツール xfinder
Raspberry Piや Jetson NANO等をネットワークに接続した場合の IPアドレスの便利ツール xfinder

  DHCPで自動で IPアドレスが割り当てられる場合に、ワンボードマイコンの IPアドレスを調べる場合に便利

Apache Webサーバを過剰なアクセスや DoS攻撃から守る modモジュールの紹介
Apache Webサーバを過剰なアクセスや DoS攻撃から守る modモジュールの紹介

  対 DoS攻撃用の Apache2モジュール mod_evasive、mod_dosdetector、mod_limitipconn、fail2ban等の紹介

Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入できる通販ショップ一覧まとめ
Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入できる通販ショップ一覧まとめ

  ラズパイゼロW ワイヤレスモデルを海外通販でサクッと簡単に個人輸入で入手。技適通過でも国内販売は常に品切れ

Raspberry Pi 3で安定して使える相性の無い最適な microSDカードの種類のまとめ
Raspberry Pi 3で安定して使える相性の無い最適な microSDカードの種類のまとめ

  ラズパイ3で安定して使える microSDカードを購入する Teamと SanDiskは絶対に買わない

Raspberry Pi 3 Model Bに専用カメラモジュール RaspiCamを接続する方法
Raspberry Pi 3 Model Bに専用カメラモジュール RaspiCamを接続する方法

  ラズパイに専用カメラモジュールを接続して Raspbianで写真の静止画撮影や動画を録画する方法

Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ
Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ

  ラズパイの Raspbian OSのコマンドラインで使用する便利コマンド、負荷試験や CPUシリアル番号の確認方法等も

Raspberry Pi 3公式フォーラムの FAQの内容の日本語訳
Raspberry Pi 3公式フォーラムの FAQの内容の日本語訳

  ラズパイ公式フォーラムの「The Raspberry Pi 3 Model B Q&A thread」の日本語訳

ラズパイを意識した別物製品 Orange Pi Zeroを買ってみた、Allwinner H2+ Cortex-A7 4core
ラズパイを意識した別物製品 Orange Pi Zeroを買ってみた、Allwinner H2+ Cortex-A7 4core

  オレンジパイはラズパイよりもコスパは良いが情報が無いので利用者側に一定のスキルが必要

Orange Pi PC 2を買ってみた、Allwinner H5 Cortex-A53 4core ARM64
Orange Pi PC 2を買ってみた、Allwinner H5 Cortex-A53 4core ARM64

  ラズパイを意識した別物製品、オレンジパイはラズパイよりもコスパが良い、でも情報が無い

Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板
Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板

  Espressif ESP8266 ESP-12-E NodeMCU V1 ESP12 CP2102

BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)
BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)

  レーザー彫刻機、カラー液晶の DIYオシロ、Arduinoや Raspberry Pi用の小型カラー液晶




[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2017 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_web_server_nginx/