在亚马逊的EC2,ubuntu上面搭建php+mysql+apach+phpmyadmin环境

来源:互联网 发布:淘宝ipad 编辑:程序博客网 时间:2024/06/05 10:30

环境

Linux 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

安装这个环境找了挺多网上的资料,这里把前人的资料汇总起来,同时把遇到的问题的解决方案汇总一下。

Step 1

sudo apt-get update
Reading package lists… Done

Step 2

安裝 Apache

sudo apt-get install apache2

Do you want to continue? [Y/n] y

Starting web server apache2

Step 3

安裝 MySQL

sudo apt-get install mysql-server php5-mysql

Do you want to continue? [Y/n] y
Change the root password? [Y/n] y //输入自己想要的密码
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

数据库的配置文件在这里

/etc/mysql/my.cnf

设定安全性

sudo mysql_install_db
sudo mysql_secure_installation

Step 4

安裝 PHP

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Step 5

修改路径设定的內容,改变 index.php 的执行优先权。

sudo vi /etc/apache2/mods-enabled/dir.conf

修改前

<IfModule mod_dir.c>     DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm</IfModule>

將 index.php 顺序往前移

修改后

<IfModule mod_dir.c>    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm</IfModule>

Step 6

修改 Apache

sudo vi /etc/apache2/apache2.conf
找到以下这段,並將內容修改如下:

<Directory /var/www/(此为网站目录路径,虚拟网站的目录也要写一份)>    Options Indexes FollowSymLinks Includes ExecCGI  AllowOverride All  Require all granted  Allow from all</Directory>

重新啟動 Apache

sudo service apache2 restart
到這里 LAMP 开源架站组合包基本上已经安装完成了。在下一个步骤会指定网页资料夹。

Step 7

由于目的是要在同个服务器提供多个网页,因此为不同的网域名称建立个别的网页站点。为了方便说明,多个网站名称的设定用网站域名,这边假设两个网站名称aaa.com 以及bbb.com。作为教学范例,而Ubuntu 预设的网页根目录路径为/var/www/,因此我们在这个目录下建立两个网页资料夹:

sudo mkdir -p /var/www/aaa.com/public_html
sudo mkdir -p /var/www/bbb.com/public_html

Step 8

设定目录的权限

sudo chown -R root:root /var/www/aaa.com/public_html
sudo chown -R root:root /var/www/bbb.com/public_html
sudo chmod -R 755 /var/www/

Step 9

建议Virtual Host

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/aaa.com.conf
sudo vi /etc/apache2/sites-available/aaa.com.conf

找到这里

<VirtualHost *:80>    ServerAdmin webmaster@localhost    DocumentRoot /var/www/html    ErrorLog ${APACHE_LOG_DIR}/error.log    CustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost>

接着更改完成如下:

<VirtualHost *:80>    ServerAdmin admin@aaa.com    ServerName aaa.com    ServerAlias www.aaa.com    DocumentRoot /var/www/aaa.com/public_html    ErrorLog ${APACHE_LOG_DIR}/error.log    CustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost>

保存并重复上面的步骤处理bbb.com
修改bbb的配置如下:

<VirtualHost *:80>    ServerAdmin admin@bbb.com    ServerName bbb.com    ServerAlias www.bbb.com    DocumentRoot /var/www/bbb.com/public_html    ErrorLog ${APACHE_LOG_DIR}/error.log    CustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost>

Step 10

让上面的配置生效。

sudo a2ensite aaa.com.conf
sudo a2ensite bbb.com.conf

并重启apache服务器

sudo service apache2 restart

由于事先在域名服务器配置好。aaa.com和bbb.com指向亚马逊,所以就可以访问上面的网站了,再根据自己的需要把网站在部署好在这个位置

/var/www/aaa.com/public_html
/var/www/bbb.com/public_html

Step 11

安装phpmyadmin

cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/4.4.13.1/phpMyAdmin-4.4.13.1-english.tar.gz
tar -xzvf phpMyAdmin-4.4.13.1-english.tar.gz -C /var/www/html
mv phpMyAdmin-4.4.13.1-english phpmyadmin
rm -rf phpMyAdmin-4.4.13.1-english.tar.gz

修改权限

chown -R apache.apache phpmyadmin/

安装配置

cd /var/www/html/phpmyadmin/
cp config.sample.inc.php config.inc.php

修改配置

vi /var/www/html/phpmyadmin/config.inc.php

修改完成如下:

$cfg['blowfish_secret'] = '{^QP+-(3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */$cfg['Servers'][$i]['host'] = '127.0.0.1';//localhost改成这个$cfg['Servers'][$i]['port'] = '3306';$cfg['Servers'][$i]['connect_type'] = 'socket';$cfg['Servers'][$i]['socket'] = '/var/run/mysqld/mysqld.sock';//这个看/etc/mysql/my.cnf$cfg['Servers'][$i]['AllowNoPassword'] = false;$cfg['Servers'][$i]['user'] = 'root';$cfg['Servers'][$i]['password'] = '';

然后就可以通过ip去访问了。登录的帐号用面安装mysql时,指定的root和密码就可以登录。

http://xx.xx.xx.xx/phpmyadmin/index.php

走完上面的步骤,要记得去亚马逊管理后台里开80端口的访问。

然后就可以访问网站和通过phpmyadmin访问上面的mysql数据库了。

遇到的问题。

走完上面的步骤时,我遇到phpmyadmin登录不成功的问题。
出错信息为:

Cannot log in to the MySQL server

查了一些资料。最后修改这个配置文件/var/www/html/phpmyadmin/config.inc.php解决。修改内容见上面。重点是mysql的socket


引用

http://diary.taskinghouse.com/posts/432235-ec2-ubuntu-install-apache2-mysql-php
http://diary.taskinghouse.com/posts/664386
http://blog.csdn.net/dazhi_100/article/details/44459591

0 0