Amazon LinuxにLAMP環境を構築してみた
以下記事を参考にAmazon LinuxにLAMP環境を構築してみました
AWSのEC2に基本的なLAMP環境を作ってみる(2) - Qiita
LAMP環境とは
L → Linux A → Apache M → MySQL P → PHP で構成された動作環境のこと
構築手順
ec2-userからrootにする
$ sudo su
Linuxの日付設定、言語設定
$ vim /etc/sysconfig/i18n LANG=ja_JP.UTF-8 $ cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
PHPのインストール(PHP5.5)
$ yum install -y php55 $ vim /etc/php.ini date.timezone = 'Asia/Tokyo' とする
MySQLのインストール
$ yum install -y mysql-server $ service mysqld start $ mysql -uroot mysql> set password for root@localhost=password('rootユーザーのパスワード'); mysql> exit $ /usr/bin/mysql_secure_installation Enter current password for root (enter for none): (rootユーザのパスワード) Change the root password? [Y/n] n Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
phpMyAdminのインストール
$ yum --enablerepo=epel install -y phpMyAdmin
EPELとは、エンタープライズ Linux 用の拡張パッケージでFedora プロジェクトの貢献者たちが Fedora のパッケージを自分たちが使っているRed Hat Enterprise Linux (RHEL) やその 互換ディストリビューション上で使用したいという要望から作成された拡張パッケージです。
RHELクローンとしてサーバー用途に用いられることが多いCentOSは簡素で堅牢なパッケージを提供する傾向にあります。 CentOSの公式リポジトリは保守的でパッケージ数も多くないため、EPELやRemi, RPMforgeを追加し必要なパッケージを追加する といった使い方をされるようです。
EPELとは - bnoteより引用
アクセス権限の設定
$ vim /etc/httpd/conf.d/phpMyAdmin.conf
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin <Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> # Require ip 127.0.0.1 <==(ここを修正!) Require all granted Require ip ::1 </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory>
MySQL, apacheの自動起動設定を有効にする
$ chkconfig mysqld on $ chkconfig httpd on
再起動する
$ service mysqld restart $ service httpd restart
MacでSSH接続する方法メモ
Amazon EC2にインスタンスを立てたので、SSH接続するためのメモ
こういうことは忘れることが多いので地味に便利
初期設定(秘密鍵と権限の設定)
$ mv 秘密鍵名.pem ~/.ssh/ $ chmod 600 ~/.ssh/秘密鍵名.pem
- 秘密鍵はインスタンス生成時に作成、設定したもの
接続
$ ssh -i ~/.ssh/秘密鍵名.pem [ユーザ名]@[IPアドレス or DNS名]
- Amazon EC2のデフォルトユーザ名は、"ec2-user"
PHPでの日付フォーマット変換方法
ハッカーランク(hackerrank)にて日付変換の問題をPHPで解くにあたって、日付関連の関数を調べたのでそのメモです。
問題
- "07:05:45PM"を"19:05:45"に変換するPHPを書け
Sample Input
- 07:05:45PM
Sample Output
- 19:05:45
プログラム
要点
- strtotime関数で、日付文字列をタイムスタンプに変換する
- 日付文字列を良い具合に解釈して、タイムスタンプ (1970 年 1 月 1 日 00:00:00 UTC からの経過秒数) に変換してくれる関数
- PHP: strtotime - Manual
- JavaだとSimpleDateFormatクラスで、日付文字列を解析するには、日付形式を指定("yyyy-MM-dd"のような)する必要があるが、PHPではその必要がない(JavaよりもPHPの方が楽だね!)
- 解釈できる日付書式は以下、ページに描かれている。
- date関数で、タイムスタンプを日付文字列に変換する
- タイムスタンプを与えられたフォーマット文字列によりフォーマットし、日付文字列を返す関数
- PHP: date - Manual
詳細
<?php $handle = fopen("php://stdin", "r"); fscanf($handle, "%s", $time); date_default_timezone_set('Asia/Tokyo'); // strtotime: 日付文字列をタイムスタンプに変換する // date: タイムスタンプを日付文字列に変換する echo date("H:i:s", strtotime($time)); ?>
MacでPHPの実行環境構築メモ
OS情報
事前準備
- Homebrew
- PhpStorm
PHPのリポジトリを追加する
$ brew tap homebrew/php
PHP5.5とデバッグツールのインストール
$ brew install homebrew/php/php55 $ brew install homebrew/php/php55-xdebug $ vim /usr/local/etc/php/5.5/php.ini date.timezone = 'Asia/Tokyo' とする
- xdebugについてはこちらを参考
環境確認
$ brew doctor
- ここで"Warning"が出た場合は、メッセージに沿って修正する
MySQLのインストール
- インストール
$ brew install mysql
- 起動
$ mysql.server start
- rootユーザーのパスワード設定
$ mysql -uroot mysql> set password for root@localhost=password('rootユーザーのパスワード'); mysql> exit
- MySQL のセキュリティ設定
$ mysql_secure_installation
Using existing password for root. Change the password for root ? ((Press y|Y for Yes, any other key for No) : n ... skipping. By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y Success. All done!
phpMyAdminのインストール
- インストール
$brew install phpmyadmin
- apacheの設定
$ sudo vim /etc/apache2/httpd.conf
LoadModule php5_module libexec/apache2/libphp5.so <= コメントを外す ~~~ <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> <IfModule mine_module> AddType application/x-httpd-php .php </IfModule> ~~~ Alias /phpmyadmin /usr/local/share/phpmyadmin <Directory /usr/local/share/phpmyadmin/> Options Indexes FollowSymLinks MultiViews AllowOverride All <IfModule mod_authz_core.c> Require all granted </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Allow from all </IfModule> </Directory> ~~~
- config.inc.phpの修正
$ vim /usr/local/Cellar/phpmyadmin/4.6.4/share/phpmyadmin/config.inc.php
"localhost"を"127.0.0.1"に修正する
$cfg['Servers'][$i]['host'] = '127.0.0.1';
- phpMyAdminの起動確認
PhpStormの設定
- PhpStorm > Preferences > Languages & Frameworks > PHP
参考
その他
Warning: homebrew/php/php53: --homebrew-apxs was deprecated; using --with-homebrew-apxs instead!
Warning: homebrew/php/php53: --with-homebrew-apxs was deprecated; using --with-apache instead!
- "--with-homebrew-apxs"を指定すると、Apacheのhttpd.confに下記が自動で追記される
- --
Macを買ってからやったことメモ
Macを買ってからやったことメモ
著者:ふじさわゆうき
先日、MacBook Airを購入しました。
バッテリーの持ちがとても良いです(12時間持続するとか)
今後、Macを買い換えることも考えて、セットアップのメモを
残しておきます
バージョン情報
MacBook Air 1600/13.3 MMGG2J/A
(1) .bash_profileの作成
$ vi .bash_profile
# custom prompt setting PS1="[\u@\w]$" # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs ## PATH=$PATH:path export PATH
$ source .bash_profile
(3) Homebrewのインストール
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
(5)gitのインストール
$ brew install git