2019/12/22

Apache2.4 を起動したところ以下のエラー


client denied by server configuration

/etc/apache2/apache2.conf の設定をみると


        Options FollowSymLinks
        AllowOverride None
        Require all denied



        AllowOverride None
        Require all granted



        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted



        Require all denied

基本的に拒否の設定になっているので、/etc/apache2/sites-available/000-default.conf に個別設定する必要がある。


    ...
    Require all granted
    ....

  2019/12/22

Ubuntuのユーザ関連のコマンドは、Debianと異なるようだ。

rootログイン

$ sudo su -

sudo権限

sudo権限もつけておく


$ sudo gpasswd -a xxx sudo

  2019/12/21

タミヤから発売された、マイコンロボット工作セット (クローラータイプ)を購入して、Macに接続してみました。

タミヤ ロボット

作成してみる

プラモデル作りなんて小学生以来ですが、接着剤とか塗料とかなくても部品を組み立てるだけです。

プログラムが苦手な人でも作れますが、小学生が作るのはちょっと大変かも知れません。 ギヤーの作成がちょっと面倒くさい

タミヤ ロボット

mirco:bit の基盤

タミヤ ロボット

mirco:bit の超音波センサー

タミヤ ロボット

完成

タミヤ ロボット

Mac Book Pro と micro:bit をケーブルを接続

Mac Book Pro と micro:bit をケーブルを接続するには、USB Type-C と Mirco USBケーブルを利用して接続します。

Macに接続して認識できました。 タミヤ ロボット

ターミナル上で確認すると「cu.usbmodemxxxxx」として認識されています。

$ ls -al cu.* crw-rw-rw- 1 root wheel 18, 5 8 21 14:30 cu.Bluetooth-Incoming-Port crw-rw-rw- 1 root wheel 18, 3 8 21 14:30 cu.MALS crw-rw-rw- 1 root wheel 18, 1 8 21 14:30 cu.SOC crw-rw-rw- 1 root wheel 18, 7 8 21 14:30 cu.TaoTronicsTT-BH07-CSRGA crw-rw-rw- 1 root wheel 18, 11 12 21 15:45 cu.usbmodem14402

コントローラを用意

micro:bit を別途購入することでロボットを外部コントロールする事も可能です。

別途、micro:bit とその電源として電池ボックスセットも購入

BBC Micro Bit (マイクロ:ビット) 保護ケースアクリル透明ケースおよびAAA電池バッテリボックスmicro bitボード電源コネクタとの互換性BBC micro bitボード

タミヤ ロボット

サンプルプログラミングをインストール

Macに接続したら、タミヤから用紙されているプログラミング(.hexファイル)をMICROBITドライブにインストールして確認します。
(インストール後は、USBケーブルを抜いて主電源で動作確認)

BBC マイクロビットのプログラムについて
マイコンロボット工作 プログラミング Q&A
・出荷時のプログラム https://www.tamiya.com/cms/img/usr/item/7/71201/01_DrivingProgram_v1.hex

カスタムプログラミングは、「MakeCode for micro:bit」で行います。

  2019/09/28

pgAdmin4 からブラウザで起動することになった。
ただポートを自動生成してブラウザ起動するので、ブラウザを閉じてURL(ポート)がわからないと開けないという仕様 pgAdmin4 pgAdmin4アプリ自体をクリックしても開かないので以下で対応 - pgAdmin4 メニューのURLコピー - pgAdmin4 シャットダウン

pgAdmin4 メニューのURLコピー

pgAdmin4 メニュー コピー後にブラウザでアクセス

pgAdmin4 シャットダウン

それでもひらけない場合は、シャットダウンして再起動 pgAdmin4 メニュー

  2019/09/28

2019/9時点、MacOSX でAndroid 開発する場合、Java 8 が必要 ライセンスの関係上 Oracleにユーザ登録する必要があるが、Homebrew でオープン系でJava8構築することも可能

homebrew-cask-versions で Java8インストール

caskインストール

$ brew tap homebrew/cask-versions

caskで adoptopenjdk8 corretto8 zulu8インストール

$ brew tap homebrew/cask-versions
$ brew cask install adoptopenjdk8
$ brew cask install corretto8
$ brew cask install zulu8

jEnv

Java のバージョンを複数管理したい場合は jEnvを利用する *Android開発だけならば必要はない

$ git clone https://github.com/gcuisinier/jenv.git ~/.jenv

.bash_profile(.bashrc)設定

.bash_profileもしくは .bashrc に環境変数を設定

export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"

jEnvバージョン確認

$ jenv versions
* system (set by /Users/yoo/.jenv/version)

Java情報確認

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
    1.8.0_221, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home

  2019/09/24

項目

  • Xcode
  • JavaSDK8
  • gradle
  • Kotlin
  • Android Studio

Xcodeインストール

もろもろツールをインストールするためにXcodeをインストールして起動済みにしておく

Java SDK8のインストール

2019/09/25時点でライセンスの関係上、Oracleからインストーラをダウンロードするか、Homebrew と cask でインストールすることになる。

Oracle JDK8インストーラー

Java SE Downloadsからインストールする場合にユーザ登録が必要

Java SE Development Kit 8u221

JDK

JDK

$ java -version java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

homebrew-cask-versions で Java8インストール

インストーラを利用せず、Homebrew で構築することも可能 Java8 を HomebrewとjEnvで構築

SDKバージョン切り替え

$ jenv global SDKバージョン

Gradleインストール

Gradle は オープンソースのビルドシステム Android Studio を利用するときに便利

SDKMANのインストール

$ curl -s "https://get.sdkman.io" | bash $ source .sdkman/bin/sdkman-init.sh

SDKMANバージョン確認

$ sdk version SDKMAN 5.7.3+337

gradleインストール

$ sdk install gradle

gradle バージョン確認

$ sdk list gradle ... Available Gradle Versions ================================================================================ > * 5.6.2 5.0 3.5 2.1 ...
$ gradle --version Welcome to Gradle 5.6.2! ... Kotlin: 1.3.41 Groovy: 2.5.4 Ant: Apache Ant(TM) version 1.9.14 compiled on March 12 2019 JVM: 1.8.0_221 (Oracle Corporation 25.221-b11) OS: Mac OS X 10.14.6 x86_64

<

h2 class="h2">Kotlinインストール

$ sdk install kotlin

Kotlin バージョン確認

$ sdk list kotlin ================================================================================ Available Kotlin Versions ================================================================================ > * 1.3.50 1.2.50 1.1.4 1.0.1-2 ...

利用SDKの確認

$ sdk current ... gradle: 5.6.2 kotlin: 1.3.50

Android Studioインストール

Android Studio ダウンロード

AVD(Android Virtual Device)

AVD Manager から仮装端末をインストール

SDK Manager

SDK Manager で不足しているツールをインストールする

Android SDK Platforms

SDK Platforms で利用したい Android OSバージョンをインストール Android Studio Menu

Android SDK Tools

Android Studio Menu

  • Android SDK Build-Tools 28
  • Android Emulator
  • Android SDK Platform-Tools
  • Android SDK Tools
  • Intel x86 Emulator Accelerator(HAMX instraller)
  • NDK

Android SDK Platform Tools

Android SDK Platform Tools

Android SDKコンポーネントで、adb、fastboot、systrace などのAndroid プラットフォームとインターフェース

Android SDK Tools

SDK Tools

デバッグツール一式を含む Android SDK のコンポーネント

Android 9.0 の場合 - Android SDK Platform 28 - Sources For Android 28 - Google APIs Intel x86 Atom_64 System Image

Android NDK

Android で C / C++ コードを使用できるようにするツールセット

Mac OSX 設定

.bash_profileに環境変数設定

export ANDROID_HOME=$HOME/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/tools/bin export PATH=$PATH:$ANDROID_HOME/platform-tools eval "$(pyenv init -)"

adb確認

$ adb --version Android Debug Bridge version 1.0.41 Version 29.0.0-5611747 Installed as /Users/yoo/Library/Android/sdk/platform-tools/adb

  2019/08/27

文字コードを en_US.UTF-8 から ja_JP.UTF-8 に変更する方法
※この処理は DBが全てリセットされてしまうので注意!


# localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8 # vi /etc/locale.gen ja_JP.UTF-8 UTF-8 # update-locale LANG=ja_JP.UTF-8

再ログイン


# locale LANG=ja_JP.UTF-8 LANGUAGE= LC_CTYPE="ja_JP.UTF-8" LC_NUMERIC="ja_JP.UTF-8" LC_TIME="ja_JP.UTF-8" LC_COLLATE="ja_JP.UTF-8" LC_MONETARY="ja_JP.UTF-8" LC_MESSAGES="ja_JP.UTF-8" LC_PAPER="ja_JP.UTF-8" LC_NAME="ja_JP.UTF-8" LC_ADDRESS="ja_JP.UTF-8" LC_TELEPHONE="ja_JP.UTF-8" LC_MEASUREMENT="ja_JP.UTF-8" LC_IDENTIFICATION="ja_JP.UTF-8" LC_ALL=

PostgreSLQ 停止 & クラスター削除


# /etc/init.d/postgresql stop # pg_dropcluster --stop 11 main

PostgreSLQ クラスター作成 & 起動


# pg_createcluster 11 -e UTF-8 --locale ja_JP.UTF-8 --start main # /etc/init.d/postgresql start

DB確認


$ psql -l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres

  2019/08/27

vagrant で Apache を利用するとパーミッションの問題が発生する 一般ユーザ同様に、グループ設定を行う

Ubuntu

# usermod -aG www-data vagrant # getent group www-data www-data:x:33:vagrant

CentOS

# usermod -aG apache vagrant

  2019/08/25

AWS の Linux2 は最適化された(?)パッケージが用意されている

- CentOS7
- Apache2
- PHP7.3
- PostgreSQL *コマンドは sudo でなく root で実行している(root パスワードを別途設定済み)

yum アップデート

# yum update -y

Apache2

Apache インストール


# yum -y install httpd

サービス起動


# systemctl start httpd

*CentOS6系では chkconfig httpd on

自動起動設定


# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

自動起動設定確認


# systemctl is-enabled httpd

ec2-user 設定

/var/www/ を ec2-user が利用できるように設定する

ec2-user を apache に追加


# usermod -a -G apache ec2-user

/var/www の権限

デフォルトの DocumentRoot である /var/www の権限を ec2-user : apache に変更 ディレクトリ(775)とファイル(664) で利用できるようにする


# chown -R ec2-user:apache /var/www
# chmod 2775 /var/www && find /var/www -type d -exec chmod 2775 {} ;
# find /var/www -type f -exec chmod 0664 {} ;

*2775 の 2 は setgid

ec2-user で所属グループの確認

ec2-user を再ログインして確認


$ groups ec2-user

PHP7.3

Amazon Linux2 用にパッケージが用意されており、PHP7.3 はここからインストールする。

Amazon Linux2 専用のパッケージ確認


# amazon-linux-extras list
.....
# amazon-linux-extras info php7.3

インストール


# amazon-linux-extras install php7.3

amazon-linux-extras で足りないパッケージは、yum でインストールすると良い

Composer インストール


$ curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer Downloading... 
Composer (version 1.9.0) successfully installed to: /home/vagrant/composer.phar
Use it: php composer.phar

/user/local/bin に移動


$ sudo mv bin/composer /usr/local/bin/composer

composer初期化


$ composer init

composer.json が作成される

composer install


$ composer install
Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Generating autoload files

PostgreSQL10

amazon-linux-extras

amazon-linux-extras では psql コマンドのみのインストールの模様


# amazon-linux-extras install postgresql10

yum インストール


# yum install -y postgresql-server postgresql-devel postgresql-contrib

サービス起動


# systemctl start postgresql # postgresql-setup initdb

自動起動設定


# systemctl enable postgresql.service

postgres ユーザで確認


# su - postgres
$ psql -l
could not change directory to "/home/ec2-user": Permission denied List of databases 
 .....

外部からのアクセス設定

パスワードで制御するかIPで制御するか、はたまたその他の方式かはセキュリティポリシーによって違うので割愛 (postgres.conf & pg_hba.conf 設定など)

AWS はセキュリティグループで PostgreSQLのポート設定しないと一切アクセスできない。

AWS セキュリティグループ

セキュリティグループ > EC2 に紐付いたグループ > インバウンド > 編集

AWS セキュリティグループ

上記の設定は 5432 に全ての IPを許可(CIDR形式)しているので、必要であれば IP制限する
(postgresパスワードや、pg_hba.conf で制限しても良い)

  2019/08/25

Python単体 と Anaconda は比較的衝突しやすいので、Anacondaを削除してみる

anaconda-clean のインストールと実行


$ conda install anaconda-clean
$ anaconda-clean

anaconda_backup の削除


$ rm -rf ~/.anaconda_backup

<

h2 class="h2">anaconda 本体の削除 環境によってパスが異なるが、which anaconda などでパスを確認して削除


$ cd ~/.pyenv
$ rm -rf versions
$ cd .pyenv/shims
$ rm -rf anaconda*

<

h2 class="h2">.bash_profile から環境変数の削除 ~/.bash_profile に環境変数が追加されていた場合はこれを削除

ターミナルを再起動すると anaconda は動作しない

pngファイルの軽量化
Google DriveのIconを再起的に削除
php-markdownでバニラPHPなコードブロック処理
laravel-ffmpeg を使う
2021年版 Ubuntu + certbot + Let's Encrypt でサーバ証明書設定
GihHub のデフォルトでない master ブランチを checkout する
マルチログインで未認証のリダイレクト
Homebrew で Redis をインストール
CSS だけでスムーズスクロール
EC-CUBE4 で Gmail の smtp を利用する
Amazon Linux 2 の amazon-linux-extras とは
UNIQUE カラムのバリデーションで自分自身を除外して更新
フォーム有効期限切れで Page Expired をリダイレクト
ログを日付でローテーションやクリアや削除
Homebrew で PHP8.0 から PHP7.4 にダウングレード
Big sur で zsh 移行と Homebrew アップグレード
Mac に minikube をインストール
途中から .gitignore に追加する
Larevel 6.x から Laravel 8.x にバージョンアップ
Composer で Allowed memory size (メモリ不足)エラー
Blade でカスタムクラスを利用する
git push git pull にブランチ指定せずに実行する
git pull や git push できなくなったとき
Docker のコンテナからホストOS に接続
Mac で ローカル IP アドレス(ipv4)のみを表示する
ホストOS から Docker の MySQLコンテナに接続
caching_sha2_password のエラー
node-config で環境設定ファイルを利用する
rootパスワードを初期化(再設定)する
Git から clone したときのエラー対処
Mac に MySQL をインストール
Mac に PostgreSQL をインストール
Laravel 環境構築 - Mac ネイティブ編
Firebase 入門 - Firebase とは
Firebase 入門 - CLI インストールとデータベースの設定
AWS 無料枠(t2.micro)で容量とメモリエラー
Cloud9 を起動する -初心者編-
gcloud で GCEインスタンスを起動してみる
AWS CLI と jq でインスタンス一覧を整形して表示
React と Laravel7 のプロジェクトを作成する
Homebrewインストール-2020年版
3直線で囲まれた範囲塗りつぶし
PuLP で線形最適化問題を解く
カスタムのペジネーションを作る
node-sass を使って sass をコンパイルする
Log ファサードでSQLログを分離して書き出す
いちから始める Docker - 複数のコンテナを使う - (2020年)
いちから始める Docker - docker-compose を使う - (2020年)
AWS ECR を使ってみる
Laravel7 でマルチ認証