ubuntu10.04下安装LAMP

Wesley13
• 阅读 645

安装

当然不使用Gnome,使用终端命令也很简单:
直接一条命令 :apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql
设置Ubuntu文件执行读写权限

LAMP组建安装好之后,PHP网络服务器根目录默认设置是在:/var/www。由于Linux系统的安全性原则,改 目录下的文件读写权限是只允许root用户操作的,所以我们不能在www文件夹中新建php文件,也不能修改和删除,必须要先修改/var/www目录的 读写权限。在界面管理器中通过右键属性不能修改文件权限,得执行root终端命令:sudo chmod 777 /var/www。 然后就可以写入html或php文件了。如果对777表示的文件权限不是很清楚可参考chmod命令。
如何安装phpmyadmin-Mysql 数据库管理

使用界面管理器:
系统->系统管理->新立得软件包管理器->搜索 phpmyadmin->右键标记安装。
或直接使用一条命令:sudo apt-get install phpmyadmin 安装开始。

phpmyadmin设置:
在安装过程中会要求选择Web server:apache2或lighttpd,选择apache2,按tab键然后确定。然后会要求输入设置的Mysql数据库密码连接密码 Password of the database's administrative user。
然后将phpmyadmin与apache2建立连接,以我的为例:www目录在/var/www,phpmyadmin在/usr/share /phpmyadmin目录,所以就用命令:sudo ln -s /usr/share/phpmyadmin /var/www 建立连接。

phpmyadmin测试:在浏览器地址栏中打开http://localhost/phpmyadmin。
Ubuntu LAMP 如何配置Apache

1. 启用 mod_rewrite 模块
终端命令:sudo a2enmod rewrite
重启Apache服务器:sudo /etc/init.d/apache2 restart

Apache重启后我们可以测试一下,在/var/www目录下新建文件test.php,写入代码:  保存,在地址栏输入http://127.0.0.1/test.phphttp://localhost/test.php ,如果正确出现了php 配置信息则表明LAMP Apache已经正常工作了(记得重启Apache服务器后再测试)。

2.设置Apache支持.htm .html .php
sudo gedit /etc/apache2/apache2.conf
或sudo gedit /etc/apache2/mods-enabled/php5.conf
在打开的文件中加上
AddType application/x-httpd-php .php .htm .html 即可。
LAMP配置之Mysql测试

上面php,Apache 都已经测试过了,下面我们再测试一下Mysql 数据库是否已经正确启用。

在/var/www目录下新建 mysql_test.php:

   

保存退出,在地址栏输入http://127.0.0.1/mysql\_test.php,显示"Mysql 已经正确配置"则表示OK了,如果不行,重启Apache服务器后再试一下。

 

命令行一条命令安装LAMP

 

$sudo  tasksel

输入管理员密码后进入菜单 ,选择LAMP server

输入MySQL密码

程序开始下载,并安装完成。

安装完后在浏览器输入 Server地址,一般默认情况下输入127.0.0.1

出现
It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

 

则表明Apache运行中。

接下来检查MySQL工作情况:

命令行输入:

mysql -u root -p

如果运行正常如下

ander50@ander50-desktop:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.1.41-3ubuntu12.3 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

输入密码

配置概要

 

一、配置php5

    命令:sudo gedit /etc/php5/apache2/php.ini

         修改允许最大使用内存,查找

    memory_limit = 8M

         修改为

    memory_limit = 32M

         修改允许最大上传尺寸,查找

    upload_max_filesize = 2M

         修改为

    upload_max_filesize = 8M

         允许 mysql 和 gd 模块,检查文件最后是否包含下面的代码,如果没有添加上。(默认是在配置文件最后有添加的,检查一下以防万一)

    extension=mysql.so
    extension=gd.so

          保存并关闭文件。

二、配置apache

1、ubuntu 中配置文件在/etc/apache2下,apache2.conf是全局配置或者说是主配置文件,httpd.conf是用户配置文件,感觉和用php 编写程序时经常用config.php覆盖config.default.php文件中的设置是一样的,用户设置独立出来,方便管理和备份,毕竟主配置文 件很少修改,偶尔修改一两句也可以写到httpd.conf里面,备份方便

        在/etc/apache2/httpd.conf加入一行:ServerName 127.0.0.1

        命令:sudo gedit /etc/apache2/httpd.conf

 

2、下面这段是在官网上找下来的

        编辑/etc/apache2/apache2.conf(新安装的系统可能在/etc/apache2/conf.d/charset)文件,在改动之 前,请先将该配置文件做个备份。以便在出错的时候可以恢复。将

   AddDefaultCharset ISO-8859-1

        改为

   AddDefaultCharset GB2312

        当然如果你网站的编码用的是UTF-8的话,也可以改为

   AddDefaultCharset UTF-8

        这样的话,我们就不会每次打开网页都是乱码了!

3、增加安全模块,以保障Apache服务的正常运行,现在我们安装mod-security。(可选)

        a. 首先安装libapache2-mod-security包(7.10之后的系统已经没有此包,可以跳过此步骤)

   sudo apt-get install libapache2-mod-security

        a. 该模块默认是没激活的,我们可以在/etc/apache2/mods-available目录下看到有mod-security.load文件,但在 /etc/apache2/mods-enabled目录却没有它的软链接。我们现在激活它:

$sudo a2enmod mod-security
$sudo cp /usr/share/doc/libapache2-mod-security/examples/httpd2.conf.example-full /etc/apache2/mods-available/mod-security.conf
$sudo cp /etc/apache2/mods-available/mod-security.conf /etc/apache2/mods-available/mod-security.conf.orig
$sudo vi /etc/apache2/mods-available/mod-security.conf

==== mod-security.conf 文件内容开始====
# 检测内容长度以避免堆溢出攻击
SecFilterForceByteRange 32 254 =>SecFilterForceByteRange 32 126

# debug设置
SecFilterDebugLevel 9 =>SecFilterDebugLevel 0

# 设置缺省的动作
SecFilterDefaultAction "deny,log,status:499" =>SecFilterDefaultAction "deny,log,status:404"

# 把设置传递给子目录
SecFilterInheritance Off

# Redirect user on filter match
# 当匹配sh的时候,重新定向到一个特殊的警告页面,该页面是自行编写的,写些警告的话让攻击者知难而退,该段先不要生效,等到相关配置配好之后再失效不迟。记住在配好之后要使之生效。
#SecFilter sh redirect:http://localhost/hack/warning.htm

# Prevent OS specific keywords
#过滤一些敏感的东西,我们使用*是为了攻击者使用/etc/./passwd来绕开检测
SecFilter /etc/passwd =>SecFilter /etc/*passwd
SecFilter /bin/*sh

# Very crude filters to prevent SQL injection attacks
# 防止SQL插入(SQL Injection)攻击
SecFilter "delete[[[space|]]]+from"
SecFilter "insert[[[space|]]]+into"
SecFilter "select.+from"
SecFilter "select[[[space|]]]+from"
SecFilter "union[[[space|]]]+from"
==== mod-security.conf 文件内容结束====

sudo ln -s /etc/apache2/mods-available/mod-security.conf /etc/apache2/mods-enabled/mod-security.conf

a. 重启Apache2服务即可。

   sudo /etc/init.d/apache2 restart

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这