XAMPPやMAMPなどからローカルで作ったものをそのままどっこいしょできるのでしょうか??
サーバーの各設定ファイルは、バージョンが同じであればそのまま使用することが可能ですのでバージョンをきちんとそろえることが重要です。
ただし、下記設定は最初からやらなければいけません。
- Apacheのバーチャルホストなどのパス設定全般
- PHPの外部モジュール設定(
php_mbstring.dll
などの設定)
- PHPのパス設定全般
- MySQLのパス設定全般(ログファイルなどの設定があれば)
MySQLはデーターベースの移行(ダンプ、インポート)が面倒であれば、現状のMySQLをそのまま使用することにしてもいいかもしれません。
ローカルでの開発環境は構築できるのですがデプロイするのに
知識不足で何をやっていいのか迷っています。目標としては
自分でサーバを構築できるようになりたいです
ローカル開発環境ではXAMPP
、MAMP
などを使うと楽ですが、サーバー構築の勉強にはなりません。
アプリケーションをデプロイするのにサーバー構築の知識は必要ないような気がします。。。
サーバー構築には下記のようにいくつか方法あります。
- バイナリパッケージをインストール(←一番簡単で一般的(RPMやDEBなど))
- ソースコードをコンパイルしてインストール(←セキュリティアップデート対応が面倒、時間がかかる)
- ソースコードからバイナリパッケージを作成してインストール(←一番面倒だけど勉強にはなる)
どこまでの技術力を目指すのかによりますが、とりあえず、VirtualBox
やMPlayer
を使ってLinuxをインストールするところから始めてみてはいかがでしょうか。例えばCentOSなど。
下記は、CentOS6の最新版をインストールしたとして話を進めます。CentOS7でもURLやパッケージ名が多少違うくらいです。
bash
1sudo yum -y update
2sudo yum install -y epel-release
3sudo yum install -y https://repo.mysql.com/mysql-community-release-el6.rpm
4sudo yum install -y http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
5sudo rpm --import /etc/pki/rpm-gpg/*
Apache-2.2インストール
bash
1sudo yum install -y openssl openssl-devel mod_ssl httpd httpd-tools postfix re2c gcc automake autoconf make pcre-devel
■設定ファイル
bash
1ls -alF /etc/httpd/conf/httpd.conf
2## バーチャルホスト設定
3ls -alF /etc/httpd/conf.d/*.conf
PHP-5.6インストール
bash
1sudo yum install --enablerepo=remi-php56 -y \
2 php \
3 php-cli \
4 php-devel \
5 php-gd \
6 php-gmp \
7 php-mbstring \
8 php-intl \
9 php-mcrypt \
10 php-mysqlnd \
11 php-pdo \
12 php-soap \
13 php-xml \
14 php-xmlrpc \
15 php-pear \
16 php-magickwand \
17 php-php-gettext \
18 php-pecl-mongo \
19 php-pecl-mongodb \
20 php-pecl-sqlite \
21 php-pecl-yaml \
22 php-pecl-imagick \
23 php-pecl-xdebug
■設定ファイル
bash
1ls -alF /etc/php.ini
2## モジュール設定
3ls -alF /etc/php.d/*.ini
MySQL-5.6インストール
bash
1sudo yum --enablerepo=mysql56-community install -y \
2 mysql-community-server.x86_64 \
3 mysql-community-client.x86_64
■設定ファイル
あとは、各サーバーの設定ファイルを再設定、上書きして再起動すれば完了です。(変更前の設定ファイルは必ずバックアップしておきます)
興味があったら、Vagrant
に挑戦してみると良いと思います。
※Vagrantとは仮想OSを作成・管理するコマンドラインベースのソフトウェアです。(Rubyで書かれています)