ubantu 12.04 配置 apache,php和mysql及phpmyadmin部分功能不能用和chkconfig提示/sbin/insserv: 文件不存在

本文介绍了如何在Ubuntu 12.04上配置LAMP环境,包括解锁root用户、安装Apache、PHP、MySQL等组件,并详细说明了配置过程及解决遇到的问题。

以前用的fedora的,今天朋友新装了ubantu12.04,让帮忙配置,虽然不适合做服务器,但配置下用来学习还是可以的。

1.Ubuntu安装后,root用户默认是被锁定了的,不允许“su”到 root。

root@ubuntu:~$ sudo passwd

Password: <--- 输入安装时那个用户的密码

Enter new UNIX password: <--- 新的Root用户密码

Retype new UNIX password: <--- 重复新的Root用户密码

passwd:已成功更新密码

2. root@ubuntu:/home/dns# aptitude install apache2 php5 php5-gd mysql-server php5-mysql libapache2-mod-auth-mysql
这是较简单的方法,另外更简单的用软件包管理器安装,选择上apache2,php5,mysql,php5-mysql 。

apache默认文档根目录为“/var/www” 把自己程序放到这个目录下就行,删掉自带的“index.html”文件。

当然也可以修改根目录位置

将缺省配置文件复制到新文件 (mychange),终端输入:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mychange
gedit /etc/apache2/sites-available/mychange 
更改documentroot为新位置:
/home/<user>/myhtml/
将默认的directory /usr/www 改为 
directory /home/<user>/myhtml/      修改后保存退出

取消默认主机激活新的主机 ,在终端输入:

sudo a2dissite default && sudo a2ensite mychange

重启apache

sudo /etc/init.d/apache2 restart
3.设置开机启动时,chkconfig 命令老提示

/sbin/insserv: 文件不存在  终端运行:whereis insserv

发现insserv根本不在/sbin/目录下,而是在/usr/lib/insserv/目录下

运行 :whereis chkconfig    发现目录为/sbin/chkconfig

运行:sudo gedit /sbin/chkconfig   

在第176行, my @i = ("/sbin/insserv"); 修改为 my @i = ("/usr/lib/insserv/insserv");   保存退出。

4.安装phpmyadmin

直接在软件中心搜索到并安装即可,安装完成后,浏览器输入localhost/phpmyadmin ,出现登陆界面,用户名为root,

密码为mysql设置的密码,登陆后会显示功能未全部设置,部分功能不可用

在mysql中创建名为phpmyadmin的数据库

/usr/share/doc/phpmyadmin/examples/create_tables.sql.gz导入到数据库。

终端输入vim  '/etc/phpmyadmin/config.inc.php'  修改如下:

$cfg['Servers'][$i]['controluser'] = 'username';
$cfg['Servers'][$i]['controlpass'] = 'password';
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] ='pma_designer_coords';
$cfg['Servers'][$i]['recent'] = 'pma_recent';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';

保存,重启phpmyadmin






### 配置 PCL VSCode 的解决方案 在 Ubuntu 上配置 Visual Studio Code (VSCode) 并解决 `pcl/point_cloud.h` 文件缺失的问题,通常涉及以下几个方面: #### 1. **确认 PCL 已正确安装** 如果未正确安装 Point Cloud Library (PCL),则会遇到诸如 `fatal error: pcl/point_cloud.h: No such file or directory` 这样的错误。可以通过以下命令验证 PCL 是否已成功安装并可用: ```bash dpkg -l | grep libpcl ``` 如果没有找到任何匹配项,则需要通过以下方法重新安装 PCL[^1]: ```bash sudo apt-get update sudo apt-get install libpcl-dev ``` #### 2. **检查 Eigen 库是否存在** 由于 PCL 使用了 Eigen 数学库作为依赖之一,在某些情况下可能会因为缺少 Eigen 而导致编译失败。可以运行以下命令来确保 Eigen 存在于系统中: ```bash sudo apt-get install libeigen3-dev ``` 之后需再次尝试构建项目以排除因缺乏 Eigen 导致的错误。 #### 3. **CMakeLists.txt 中设置正确的路径** 当 CMake 知道如何定位到 PCL 或其子模块时,可能是因为未能正确定义查找逻辑所致。可以在项目的 CMakelists.txt 文件里加入如下内容以便更精确地指定所需组件的位置[^2]: ```cmake find_package(PCL REQUIRED) include_directories(${PCL_INCLUDE_DIRS}) link_directories(${PCL_LIBRARY_DIRS}) add_definitions(${PCL_DEFINITIONS}) # 添加目标可执行文件或者静态库定义 add_executable(your_target_name main.cpp) # 将生成的目标链接至PCL库 target_link_libraries(your_target_name ${PCL_LIBRARIES}) ``` 此部分代码的作用是告诉 CMake 去哪里寻找 PCL 提供的功能以及它们的相关头文件二进制资源。 #### 4. **Visual Studio Code 设置环境变量** 为了让 VSCode 正确识别这些外部依赖关系,还需要调整编辑器内部的工作空间配置。具体操作步骤如下: - 创建或修改 `.vscode/settings.json` 文件; - 插入下面的内容用于声明额外包含目录及预处理器宏定义: ```json { "configurations": [ { "name": "Linux", "includePath": [ "/usr/include/eigen3", "/usr/include/pcl-1.10" ], "defines": [], "compilerPath": "/usr/bin/gcc", "cStandard": "gnu17", "cppStandard": "gnu++17" } ] } ``` 注意替换 `/usr/include/pcl-1.10` 成实际版本号所在位置。这一步骤有助于 IntelliSense 功能理解整个开发环境中存在的符号含义从而减少误报情况发生几率。 完成上述更改后保存所有改动,并重启 VSCode 来应用新的设定值。 --- ### 示例程序展示基本功能测试 为了进一步验证当前环境下能否正常使用 PCL API ,这里给出一段简单示例用来加载 .pcd 格式的点云数据并打印基本信息 : ```cpp #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> int main() { pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>()); if(pcl::io::loadPCDFile<pcl::PointXYZ>("input.pcd", *cloud)==-1){ std::cerr << "Could not read pcd file."<<std::endl; return (-1); } std::cout<<"Loaded "<<cloud->width*cloud->height<<" data points from test_pcd"<<std::endl; return(0); } ``` 编译该源码前记得先创建名为 input.pcd 的样本输入文档放置于同一级工作目录下;接着利用 g++ 编译工具链配合之前提到过的 cmake 构建体系一起运作起来即可顺利得到预期效果。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值