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
安装这个环境找了挺多网上的资料,这里把前人的资料汇总起来,同时把遇到的问题的解决方案汇总一下。
sudo apt-get update
Reading package lists… Done
安裝 Apache
sudo apt-get install apache2
…
Do you want to continue? [Y/n] y
…
Starting web server apache2
安裝 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
安裝 PHP
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
修改路径设定的內容,改变 index.php 的执行优先权。
sudo vi /etc/apache2/mods-enabled/dir.conf
修改前
.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
將 index.php 顺序往前移
修改后
.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
修改 Apache
sudo vi /etc/apache2/apache2.conf
找到以下这段,並將內容修改如下:
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
Allow from all
重新啟動 Apache
sudo service apache2 restart
到這里 LAMP 开源架站组合包基本上已经安装完成了。在下一个步骤会指定网页资料夹。
由于目的是要在同个服务器提供多个网页,因此为不同的网域名称建立个别的网页站点。为了方便说明,多个网站名称的设定用网站域名,这边假设两个网站名称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
设定目录的权限
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/
建议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
找到这里
*:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</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
保存并重复上面的步骤处理bbb.com
修改bbb的配置如下:
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
让上面的配置生效。
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
安装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