ubuntu服务器php环境的搭建

1 sudo apt-get update 更新源

sudo apt-get install apache2
##################
备注:如果这时候发现无法访问公网ip, 请去配置阿里云后台的安全组。
添加一条 入方向的规则

eg:

允许 自定义 TCP
80/80 地址段访问
0.0.0.0/0
apahce
1 2017-06-27 11:31:46

同理,mysql 3306端口同设置
第二:
无法连接。有密钥 ,可以在密钥管理中删除密钥,也可以使用密钥连接。建议删除
###########


sudo apt-get install mysql-server mysql-client

(输入MySQL 密码)

sudo apt-get install php7.0

安装php apache模块
sudo apt-get install libapache2-mod-php

安装curl模块
sudo apt-get install curl libcurl3 libcurl3-dev php7.0-curl

 

安装redis
1.$sudo apt-get install redis-server
进入redis客户端
2.redis-cli

后台运行redis
3.redis-server &

安装redis扩展

sudo apt-get install php-redis

重启apache2

sudo service apache2 restart

13.访问phpinfo() 会出现Redis模块

 


nojs安装
1.apt install nodejs-legacy
2.apt install npm

 

 

 

 

 

sudo apt-get install php7.0 table table 查看所有php7.0 的插件

 

一般装 php7.0-mysql php7.0-mysql php7.0-curl php7.0-gd php7.0-mbstring

php7.0-mcrypt php7.0-xml php7.0-zip

 

sudo apt-get install php7.0-mysql php7.0-mysql php7.0-curl php7.0-gd php7.0-mbstring

php7.0-mcrypt php7.0-xml php7.0-zip


打开"终端窗口",输入"sudo apt-get install php7.0-mysql"-->回车-->安装成功,安装这个模块后,php才能支持mysql。

打开"终端窗口",输入"sudo apt-get install libapache2-mod-auth-mysql"-->回车-->安装成功,安装这个模块后,apache才能支持mysql。

 


安装 下载工具 wget

sudo apt-get install -y wget

查看 wget版本

wget version

 


#安装composer

去composer 找命令


建议切换到 /usr/local/bin

使用wget安装composer wget 加上composer的官网下载地址

wget https://getcomposer.org/download/1.4.1/composer.phar

重命名文件composer.phar 为 composer
$ mv composer.phar composer

$ chmod +x composer

 

 

安装git
第一步:
安装Git。打开终端输入命令
sudo apt-get install git
第二步:
配置本机git的两个重要信息,user.name和user.email,中终端输入如下命令即可设置

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

然后我们可通过命令 git config --list,查看是否设置成功。
第三步:
查看home目录下是否有.ssh目录,一般情况是没有的,需要我们敲命令生成这个目录,在终端输入

ssh-keygen -t rsa -C "youremail@example.com"

邮箱就是刚刚第二步设置的。然后一路按回车,其实就是不设置密码。然后你就会看到home目录下
多了.ssh目录。
第四步:
进入.ssh目录你会看到两个文件id_rsa和id_rsa.pub,id_rsa是私钥,id_rsa.pub自然就是
公钥啦。然后我们需要做的就是把id_rsa.pub文件中的内容拷贝一下。
第五步:
进入你自己的github,进入Settings->SSH and GPG keys->New SSH key,然后在Key那
栏下面将第四步拷贝的东西粘贴进去就可以了,最后点击 Add SSH key按钮添加。


其实linux 和Windows 差别不大的,都是系统,我们用的也就是装软件而已。


常用的目录结构
WWW var/html

 

#配置虚拟主机
修改文件
vi /etc/apache2/sites-avilabe/000-default.conf
代码如下:
<VirtualHost *:80>

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/laravel/public
ServerName www.shxdledu.cn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/laravel/public
ServerName www.uipxw.com

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

 

配置成功后重启apahce
sudo service apache2 restart

 

###扩展和优化

【01】开启路由重写模块

Ubuntu下apache2的rewrite模块默认是不加载的。
只要运行了一下这个命令:a2enmod rewrite 就可以启用rewrite模块了。

备注:
Apaceh2 多了一组 a2enmod, a2dismod指令,用于启用和禁用Apache的模块。a2enmod用于在Apache启用指定的模块,它实际上做的是在/etc/apache2 /mods-enabled目录下创建模块文件的符号链接。相反a2dismo则是通过删除符号链接而达到禁用指定模块的功能。当然,启用已启用的模块或禁用已禁用的模块是不会报错的。^^
这里有必要说明一下:
/etc/apache2/mods-available 放apache可用的模块文件
/etc/apache2/mods-enabled 放apache已启用的模块文件的链接
弄明白了,去查看一下/etc/apache2/mods-enabled目录,果然有新增了一条rewrite.load的链接。

修改/etc/apahce2/apahce2.conf
把 下面注释部分改掉
#<Directory /var/www/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
<Directory /var/www/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

重启apache 即可去掉index.php访问

 

【02】apache 配置错误码页面
文件位置:
/etc/apache2/conf-available/localized-error-pages.conf
这个文件
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

 

 

然后注意,项目上传到/var/www/html
下 注意给777权限!!

域名记得解析对应好 就可以访问了。

 

解决外部无法连接mysql 问题

在虚拟机ubantu下安装了MySQL,但是在物理机中无法访问到该MySQL数据库。

排查问题过程:
在物理机中可以Ping通虚拟机的IP和telnet 3306端口也是正常的,所以不存在网络问题和防火墙的问题,就解决方法,在此做个笔记,以作备忘。
问题主要是由于MySQL默认安装后,并不允许远程访问(即非本机访问),说白了就是访问权限不够的问题。解决该问题的办法就是给用户授予对应的权限。

##解决步骤:
1、修改配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

查找到bind-address,将 bind-address=127.0.0.1 修改为 bind-address = 0.0.0.0 ,以允许任何IP来访问MySQL服务。

2、重启MySQL服务:sudo /etc/init.d/mysql restart

3、登录MySQL数据库,给需要远程访问的用户授权:

mysql> grant all privileges on test.* to root@"%" identified by "x123456" with grant option;

grant all privileges on test.* to root@"%" identified by "x123456" with grant option;
本次授权root用户远程访问test数据库的权限,如果你想授权所有数据库,则用*来代替test,就表明全部数据库。


4、刷新配置,使权限立即生效:
mysql> flush privileges;
这时,通过物理主机的MySQL客户端就可以正常登录了。

 

 


http://blog.leanote.com/post/basky/ubantu-lamp%E7%8E%AF%E5%A2%83

apache2配置文件
sudo vim /etc/php/7.0/apache2/php.ini


安装phpmyadmin

$ sudo apt-get install phpmyadmin
$ sudo apt-get install php-mbstring
$ sudo apt-get install php-gettext
安装时选择自动配置数据库,输入数据库root账号的密码
如果不安装以上两个php软件包,则会报错或者白屏,提示找不到/usr/share/php/php-gettext/gettext.inc之类的错误
建立/var/www/html 下的软连接

$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
修改PHP配置文件

$ sudo vim /etc/php/7.0/apache2/php.ini
display_errors = On(显示错误日志,出现两次,都要改,不然无效)
extension=php_mbstring.dll (开启mbstring)
重启apache

$ sudo /etc/init.d/apache2 restart


博客网址

http://blog.leanote.com/archives/basky

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值