ubuntu下lamp环境配置及将window代码迁移至linux系统
因为最近要用需要去实现项目中的一个功能,比较好的做法就是在http://i.cnblogs.com/EditPosts.aspx?opt=1linux中实现。所以最近就将自己的代码全部迁移到linux中了,其中遇到了不少问题,拿出来与大家分享一下,希望会对大家有所帮助。
首先说一下配置lamp环境吧。lamp的环境大家都知道就是linux,apache(服务器还可以是nginx),mysql(mongodb),php组成的一个用户编写php代码的环境。linux就不用说了,可以是在电脑上安装一个linux系统,也可以在window上用虚拟机构建一个linux的系统。
所以,首先需要安装apache服务器,在ubuntu的系统软件中心中,已经为大家准备好了apache服务器,因此,大家需要做的就是将apache下载下来安装即可,安装命令:apt-get install apache2 ,根据提示安装完成即可。安装完成后,在浏览器的地址栏输入localhost(或者时127.0.0.1),若出现如下图所示,证明lamp中的apache服务器已经安装成功!
第二个就是安装php的环境。安装命令:sudo apt-get install php5,根据提示进行安装。安装完成后需要进行测试,是否安装成功,在var/www/html下添加一个新的test.php文件,在文件中写入phpinfo();这句代码即用于显示当前php的版本信息。在浏览器地址栏输入:http://localhost/test.php 回车执行后若出现如下图所示,则表示php5安装成功!
第三个即进行mysql的安装,安装命令:apt-get install mysql-server mysql-client 。根据提示进行安装,在安装过程中会提示对mysql的root用户设置密码,所以记住设置密码。由于我在安装mysql时疏忽,直接都是回车下一步,没有设置密码,后面我在phpmyadmin时不知道设置了什么,导致我root用户的空密码无法登录mysql服务器。在这种情况下,就需要对root用户密码进行重置,通过命令找到mysql下的debian用户(cd /etc/mysql/debian.cnf)。在此文件下可以找到当前debian-sys-maint用户的密码,然后复制粘贴此用户,通过此用户密码登录mysql服务器,登录后通过”select * from user;“查看user表中是否有root用户的存在,当前root用户存在时执行“update user set passward=passward("new_pwd") where user="root"; flush privileges; exit;”,然后重启mysql服务:sudo service mysql restart 。重启后即可以通过root用户和新设置的密码登录mysql服务器:mysql -u root -p new_pwd 。
phpmyadmin安装:mysql安装完成后,默认没有图形化的操作界面,我们只能通过终端进行操作,十分不方便,数据查看时杂乱无章。phpmyadmin时一个非常好的基于web的mysql图形化界面工具。安装命令:sudo apt-get install phpmyadmin 。等待安装即可,在安装中,需注意选择服务器选择,我个人安装的时apache的环境,所以选择了apache2的服务器。服务器选择完毕后还要进行密码的设定,设定密码时需要将密码设置为mysql root用户的密码。安装完成后访问phpmyadmin会发现404错误,这是由于我们phpmyadmin只是安装完成,还需要将目录映射到apache2下:sudo ln -s /usr/share/phpmyadmin /var/www/html 。执行完上述命令后,在浏览器中访问phpmyadmin,就会出现登录界面,输入我们的用户名和密码登录。在登录后就会发现phpmyadmin还有问题(我就不幸的遇到了貌似所有的问题,唉,悲催啊。)。
第一个问题就是:使用配置文件中定义的控制用户连接失败。没办法,有问题就在网上找大神的解决办法吧,发现原来时由于配置文件中,用户和密码的错误。找到phpmyadmin下的config.inc.php文件(cd /etc/phpmyadmin/config.inc.php)。然后找到 $cfg['Servers'][$i]['user'] = 'enter_username_here'; $cfg['Servers'][$i]['password'] = 'enter_password_here'; 将其换成自己的登录用户和密码就ok了。
第二个问题就是:phpMyAdmin 高级功能尚未完全设置,部分功能未激活。解决这个问题,我们需要找到phpmyadmin下的examples下的sql文件,然后将此文件导入,即可出现一个phpmyadmin的数据库,在查看数据库的数据时会出现phpmyadmin.pma_table_uiprefs doesn't exit的错误,我们需要找到:cd /etc/phpmyadmin/config.inc.php。找到$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; 将pma后面的一个下划线改成两个就可以了,然后回去phpmyadmin就会发现这个错误已经没有了,我们也可以正常访问数据库中的数据了。
第三个问题是:缺少 mcrypt 扩展。请检查 PHP 配置。在寻找这个问题的解决方法时,发现需要安装一个apt-get install php5-mcrypt。安装完成后问题就可以解决,但是我这里不知道是什么情况,我已经安装了这个扩展,但是在访问时还是会提示这个错误,不过,在我运行项目时好像也没有什么影响,所以我就也没管,如果有大神知道为什么,烦请告知啊,一定非常感激!
在解决了上述问题后,咱们的环境已经搭建完毕了,现在若想愉快的编写php的程序,还需要一个好的编辑器。
我用的就是在终端下编程,所以我安装了一个vim,安装完成后我们就可以用vim打开文件,然后在文件中进行编写了。
最后一个问题就是将我们的window上的项目代码迁移到linux上,因为linux以权限来对文件进行管制,所以,咱们复制粘贴过来的文件是没有访问权限的,所以我们需要对代码权限进行修改,我们可以通过命令:chmod -R 777 files 将整个文件的权限全部进行修改,也可以找到文件下,右击,找到属性-》权限,手动修改权限。权限修改完成后,我们就可以在浏览器中访问我们的项目了。
完成上述工作,咱们就可以愉快的编写php代码了!
本文系博主原创,若转载请表明出处。
ubuntu下lamp环境配置及将window代码迁移至linux系统的更多相关文章
- Ubuntu下LAMP环境配置
接下来是搭建个人学习环境,之前的随笔介绍了个人的网络配置,简单记录一下. 1. 安装apache: apt-get install apache2 2. 安装php5:apt-get install ...
- 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3
阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3 Posted on 2016年2月10日 by 学院君 1.Apache 配置 —————————————————– vi / ...
- linux之ubuntu下php环境配置
本文主要说明如何在Ubuntu下配置PHP开发环境LAMP. Ubuntu 搭建 php 环境 所谓LAMP:Linux,Apache,Mysql,PHP 安装 Apache2:(注意可以 ...
- linux学习(一) -- ubuntu下lamp环境的配置
以下为实测教程,希望能为大家提供帮助,转载请注明出处 ubuntu+apache+mysql+php7 第一.更换apt的源 1.复制原文件备份 sudo cp /etc/apt/source.lis ...
- ubuntu下golang环境配置
安装go 可以到Golang中国下载go的安装包 解压安装包tar -C /usr/local -xzf <安装包> 添加环境变量`export PATH=$PATH:/usr/local ...
- ubuntu下hadoop环境配置
软件环境: 虚拟机:VMware Workstation 10 操作系统:ubuntu-12.04-desktop-amd64 JAVA版本:jdk-7u55-linux-x64 Hadoop版本:h ...
- Ubuntu下Java环境配置
Oracle Java安装: 通过以下命令进行安装: sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt ...
- Ubuntu下Gradle环境配置
sudo gedit ~/.profile sudo source ~/.profile env # for java export JAVA_HOME=/home/cmm/jdk export CL ...
- Ubuntu 16.04下的LAMP环境配置
在学习开发过程中,每当遇到新的问题时,通常都能在网上搜到解决的方法,但是网上的方法千千万,有些是已经过时了的,有些是跟自己开发环境不同的,总是不能第一时间能找到答案. 而当时遇到的问题可能在今后的开发 ...
随机推荐
- 前端开发面试题收集 HTML
Doctype是什么?说明特点. <!doctype>声明必须处于HTML文档的头部,在标签之前. <!doctype>声明不是一个HTML标签,是一个用于告诉浏览器使用哪种H ...
- centos无法载入 mcrypt 扩展,<br />请检查 PHP 配置,经过各种尝试,终于找到了解决办法
百度了无数个方法都没有解决问题,也是折腾死我了,最终解决了问题 解决办法:安装php-mcrypt libmcrypt libmcrypt-devel这三个库文件 1.安装第三方yum源(默认yum源 ...
- 学习笔记-menusript控件中条目权限设置使用
在做一个小程序的时候,偶然发现了使用menusript控件做权限设置的方法,仅此标记,以供参考. 首先创建一个实例:testuseright.sln, 在项目文件里创建两个窗体:Form1.cs和us ...
- Zabbix监控Linux主机设置
说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配 ...
- service:jmx:rmi:///jndi/rmi
service:jmx:rmi:///jndi/rmi://ip:9889/jmxrmi http://stackoverflow.com/questions/2768087/explain-jmx- ...
- aix puppet agent
demo控制脚本tel,150 5519 8367 Running Puppet on AIX Puppet on AIX is… not officially supported, yet stil ...
- ubuntu下perl SVG老是make失败
解决方法是用libgd-svg-perl软件包代替.
- magento中取不同store中的产品数据
$products = Mage::getResourceModel('catalog/product_collection') ->setStoreId( ...
- MAX Average Problem(斜率优化dp)
MAX Average Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- usb键鼠标驱动分析
一.鼠标 linux下的usb鼠标驱动在/drivers/hid/usbhid/usbmouse.c中实现 1.加载初始化过程 1.1模块入口 module_init(usb_mouse_init); ...