[转]安装lamp&phpadmin
Linux新手,想要安装一台Ubuntu 12.04版的Linux服务器,用这台服务器上的LAMP套件来运行我自己的个人网站。LAMP套件就是“Linux+Apache+Mysql+PHP这四款软件组成了一个可以使网站运行的套装工具软件。”通过安装尝试,我获得了一些成功的安装配置经验,通过本文提供给Linux网站服务器系统的入门者学习。本次安装的网站软件环境中将使用Apache2网页服务软件、MySQL5网站后台数据库软件、以及PHP5角本解释语言软件,配置成的系统也可提供FTP服务。
1. LAMP 的安装
sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql
由于LAMP大部分操作与/var/www目录相关,为了方便,修改该目录的权限为普通用户可访问。
sudo chmod 777 /var/www/
2. phpmyadmin 安装
sudo apt-get install 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。
3. Apache 配置
(1)启用 mod_rewrite 模块
终端命令:sudo a2enmod rewrite
(2)重启Apache服务器:sudo /etc/init.d/apache2 restart
Apache重启后可以测试一下,在/var/www目录下新建文件test.php,写入代码: 保存,在地址栏输入http://127.0.0.1/test.php 或 http://localhost/test.php ,如果正确出现了Mysql已经正确配置,表明Apache和mysql都正常了。(记得重启Apache服务器后再测试)。
test.php
<?php
$link = mysql_connect("localhost","root","mysql密码");
if (!$link)
{
die('Could not connect: ' . mysql_error());
}
else echo "Mysql已经正确配置";
mysql_close($link);
?>
4. 浏览器PHP中文乱码问题
上面在FireFox浏览器中打开test.php测试时,如果出现了中文乱码,则是默认语言设置问题,解决方法如下:
打开apache配置文件: udo gedit /etc/apache2/apache2.conf,在最后面加上:AddDefaultCharset UTF-8,如果还是乱码的,再将UTF-8改用gb2312。
重启Apache:sudo /etc/init.d/apache2 restart 再刷新test.php 中文乱码没有了
Ubuntu + Apache2编写简单的cgi脚本
时间:2010-11-15 09:26 来源:Ubuntu社区 收藏 复制分享 共有评论(0)条
我只学习过c语言,没有学习过prel,网上很多教程都是针对prel的,很少有针对c的。自己在Ubuntu下鼓捣了一下午,也总算是用c成功编写了一个helloworld的cgi,算是cgi入门的第一步。
一、安装及配置apache服务器
安装apache2服务器
#sudo apt-get install apache2
配置apache2服务器
配置文件位于 /etc/apache2/sites-enabled/000-default
用vi打开配置文件:
#sudo vi /etc/apache2/sites-enabled/000-default
修改其中两句为:
DocumentRoot /var/www/html
ScriptAlias /cgi-bin/ /var/www/html/cgi-bin/
注意其中空格的问题。
这两个目录你可以自己设定,并且设定的目录要真实存在,如果不存在就 mkdir 出一个。
DocumentRoot后面是放HTML文件的目录。
ScriptAlias后面是指定/cgi-bin/连接到/var/www/html/cgi-bin/ ,也就是在这个目录中的文件均被认作是cgi程序。
例如如果浏览器中访问 http://127.0.0.1/cgi-bin/hello.cgi 就可以执行cgi-bin下的hello.cgi
配置完保存。
重启apache2:
#sudo /etc/init.d/apache2 restart
二、编写hello.cgi程序
在cgi-bin/下新建一个hello.c文件:
#sudo vi hello.c
在其中写入以下内容:
#include
int main()
{
printf("Content-Type: text/html\n\n");
printf("Hello, world\n");
return 0;
}
保存退出。
编译:
#sudo gcc hello.c -o hello.cgi
这里可以先运行一下
#sudo ./hello.cgi
看看是不是输出helloworld。
然后可以在浏览器中键入http://127.0.0.1/cgi-bin/hello.cgi
浏览器就可以显示出helloworld了。
三、权限问题
我的方法比较野蛮就是把所有相关的文件和目录的权限均设置为777
#sudo chmod 777 [文件名或目录]
在这里主要是先入个门,以后有时间在慢慢研究权限的问题。
ubuntu下c与mysql的交互
博客分类:
linux
CC++C#MySQLUbuntu
mysql早装好了,最近想让C与sql进行交互,总是"error: mysql.h: 没有那个文件或目录"
以下是从网上找的解决方法,主要是未安装开发包,以及gcc参数问题:
1:先安装MySQL:
sudo apt-get install mysql-server mysql-client
2:再装开发包:
sudo apt-get install libmysqlclient15-dev
此时头文件会出现在/usr/include/mysql/里
3:安装完以后,C代码里添加头文件
#include <mysql.h>
4:编译方法:
方法1:gcc $(mysql_config --cflags) xxx.c -o xxx $(mysql_config --libs)
方法2:gcc xxx.c -o xxx $(mysql_config --cflags) $(mysql_config --libs)
方法3:gcc test.c -o test $(mysql_config --cflags --libs)
5:可以用代码测试一下
代码:
/* Simple C program that connects to MySQL Database server*/
#include <mysql.h>
#include <stdio.h>
main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = ""; /* 此处改成你的密码 */
char *database = "mysql";/*安装mysql时自带的一个db*/
conn = mysql_init(NULL);
/* Connect to database */
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
/* send SQL query */
if (mysql_query(conn, "show tables")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
/* output table name */
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);
/* close connection */
mysql_free_result(res);
mysql_close(conn);
}
//////////
编译后运行会输出现有数据库和表内容。
//来源网址
【http://hi.baidu.com/zznoip/blog/item/5e221ead10c5dfc17cd92a58.html】2011/5/22
浙公网安备 33010602011771号