Toggle navigation


WAMP/WAPP镜像手册(Bitnami版)

Version 5.6/7.0

由Websoft9提供的基于Bitnami WAMP的运行环境,预装Apache,PHP,MySQL,PHPMyAdmin以及其组件,助您在Window下快速的部署PHP应用程序。

Bitnami WAMP(Windows-Apache-MySQL-PHP)是一个广受欢迎的集成WAMP环境。基于免费、开源的软件构建,除Apache,MySQL,PHP之外,还包括Zend,Symfony等6大开发框架,ImageMagick,SQLite等16个辅助组件。Bitnami通过组合、优化和兼容性处理,将所有组件打包成一个高性能、易维护、完整的、完全集成的PHP运行环境解决方案包,保证能够兼容运行绝大部分PHP应用程序。

Bitnami WAPP(Windows-Apache-PostrgreSQL-PHP)与WAMP类似,区别仅在于采用的是PostrgreSQL数据库。


本文档适用于通过主流云市场购买和部署了Websoft9镜像的用户,文档内容重点指导用户进行安装配置、系统基本操作和常见运维问题处理。

主流云平台包括:阿里云、腾讯云、百度云、华为云、Azure、青云

Websoft9的镜像由运行环境、数据库和运维面板三个部分组成,以最新版本镜像为例包括:

版本与路径

下面重点列出使用WAMP中所需的一些配置和目录说明(路径中星号*的含义WAMP版本号)

网站目录
默认根目录:C:\websoft9\wampstack-*\apache2\htdocs
镜像根目录下的初始化index文件仅为引导之作用,建议自行删除
根目录的位置(不限磁盘)可以通过修改httpd-vhosts.conf实现

运行环境(PHP,Apache)

PHP配置文件: C:\websoft9\wampstack-7.0.26-1\php\php.ini
Apache目录:C:\websoft9\wampstack-*\apache2
Apache虚拟主机文件: C:\websoft9\wampstack-*\apache2\conf\extra\httpd-vhosts.conf
日志文件目录:C:\websoft9\wampstack-*\apache2\logs

数据库(MySQL,phpMyAdmin)-WAMP适用
MySQL数据目录: C:\websoft9\wampstack-*\mysql\data
MySQL配置文件: C:\websoft9\wampstack-*\mysql\my.ini
phpMyAdmin目录:C:\websoft9\wampstack-*\apps\phpmyadmin

数据库(PostgreSQL,phpPgAdmin)-WAPP适用
PostgreSQL数据目录: C:\websoft9\wampstack-*\postgresql\data
PostgreSQL配置文件: C:\websoft9\wampstack-*\postgresql\postgresql.conf
phpPgAdmin目录:C:\websoft9\wampstack-*\apps\phppgadmin

运维面板(9Panel)
9Panel是Websoft9根据镜像用户的习惯和技术能力而研制的轻量级面板,以帮助用户快速掌握程序安装和运维工作
访问路径:http://ip/9panel

配置要求

本镜像最低配置建议为1核2G

所有组件

Bitnami WAMP包含完整的php应用所需的包,具体如下:

Main components:

  • PHP scripting language
  • Apache Web server
  • MySQL/MariaDB/PostgreSQL database server
  • phpMyAdmin web application management tool for MySQL database

Frameworks for development (included in stacks with PHP 5.6 and lower):

  • Zend Framework
  • Symfony
  • CodeIgniter
  • CakePHP
  • Smarty
  • Laravel

Dependencies and additional components:

  • ImageMagick tool
  • SQLite database
  • ModSecurity module
  • XDebug module
  • Xcache module
  • OAuth module
  • Memcache module
  • FastCGI module
  • APC module
  • GD library
  • OpenSSL library
  • CURL library
  • OpenLDAP library
  • PEAR and PECL package manager tools
  1. 镜像需要与服务器配套使用,获取Websoft9的镜像有两种方式:
    方式一:若没有可用的云服务器,登录主流云厂商的云市场,找到由Websoft9提供的“WAMP环境”相关免费镜像,点击“购买”(同时会配套购买云服务器,若只打算试用请选择“按量”方式购买,实现按小时使用,接近免费)
    方式二:登录到云厂商的控制面板,找到可用的云服务器,通过更换系统盘(重装镜像)的方式
  2. 待镜像购买或更换完成后,镜像会自动安装到配套的云服务器上,当云服务实例处于“运行中”后,通过浏览器访问网址 http://服务器公网IP/9panel,正常会出现如下界面:
  3. 如果浏览器访问以上网址没有任何反应,请检查您的安全组设置,确保80端口是开放的。

应用程序安装、使用和维护中需要用到二种账户:

1、MySQL数据库默认账号和密码:root/123456,管理地址:http://ip/phpmyadmin(WAMP环境)

2、PostrgreSQL数据库默认账号和密码postrgres/123456,管理地址:http://ip/phppgadmin/   (WAPP环境)


3、Windows服务器操作系统账号和密码

  • 账号:administrator
  • 密码:是安装镜像的时候客户自行设置的,若不记得此密码,请登录云服务器后台,修改服务器密码,重启后生效
  • 登录:通过本地PC的远程桌面连接工具,参考(服务器通用文档-Windows远程管理与FTP

WAMP/WAPP环境中部署网站主要分为5个步骤:
上传网站代码->配置域名(非必要)->增加网站对应的数据库(非必要)->完成安装向导

注意:部署一个网站还是多个网站、有无域名这两种情况对应的部署操作细节略有不一样,下面分别说明:

场景一:服务器只安装一个网站

如果您打算此服务器上只部署一个网站或应用,建议采用此方式:

  1. 远程桌面到Windows服务器,将网站源文件拷贝到根目录
  2. 如果没有可用域名,请直接通过 http://公网IP  的方式来访问应用
  3. 如果有可用的域名,请完成《域名配置》后通过 http://公网IP  的方式来访问应用
  4. 如果在安装向导过程中提示数据库无法自动创建,需要通过http://ip/phpmyadmin 创建数据库

网站默认根目录为:C:\websoft9\wampstack-*\apache2\htdocs

场景二:服务器部署多个网站(无域名)

无域名情况下,以部署两个网站为例,具体操作如下:

  1. 远程桌面到Windows服务器,将第一个网站目录上传到根目录下面,假设应用程序目录命为“mysite1
  2. 通过http://ip/mysite1 的方式来访问应用,即可访问mysite1
  3. 如果在安装向导过程中提示数据库无法自动创建,需要通过http://ip/phpmyadmin 创建数据库

安装第二个网站mysite2,操作步骤同样

网站默认根目录为:C:\websoft9\wampstack-*\apache2\htdocs

场景三:服务器部署多个网站(共用一个域名)

共用一个域名情况下(即每个网站都打算以 http://域名/mysite1 这样的方式访问),以部署两个网站为例,具体操作如下:

  1. 远程桌面到Windows服务器,将第一个网站目录上传到根目录下面,假设应用程序目录命为“mysite1
  2. 完成《域名配置》后通过 http://域名/mysite1 的方式来访问应用
  3. 如果在安装向导过程中提示数据库无法自动创建,需要通过http://ip/phpmyadmin 创建数据库

安装第二个网站mysite2,操作步骤同样

网站默认根目录为:C:\websoft9\wampstack-*\apache2\htdocs

场景四:服务器部署多个网站(多个域名)

多个域名下(即每个网站都有自己的域名),以部署一个网站为例(假设域名为www.abc.com),具体操作如下:

  1. 远程桌面到Windows服务器,将第一个网站目录上传到根目录下面,假设应用程序目录命为“mysite1”
  2. 请将www.abc.com解析到服务器公网IP地址,并确保已经解析成功
  3. 编辑主机配置文件:C:\websoft9\wampstack-*\apache2\conf\extra\httpd-vhosts.conf
  4. 将下面的代码拷贝到httpd-vhosts.conf中后,修改其中与域名和网站目录有关的值(可以使用默认根目录之外的目录,例如:D:\mysite1)
    <VirtualHost *:80>
    ServerName www.mydomain.com 
    ServerAlias mydomain.com 
    
    DocumentRoot "C:\websoft9\wampstack-*\apache2\htdocs\mysite1"
    ErrorLog "/var/log/httpd/mysite1_error_apache.log"
    CustomLog "/var/log/httpd/mysite1_apache.log" common
    <Directory "C:\websoft9\wampstack-*\apache2\htdocs\mysite1">
    Options Indexes FollowSymlinks
    AllowOverride All
    Require all granted
    </Directory>
    </VirtualHost>
  5. 保存配置文件后,重启Apache服务器
  6. 通过 http://域名/ 的方式来访问应用
  7. 如果在安装向导过程中提示数据库无法自动创建,需要通过http://ip/phpmyadmin 创建数据库

安装第二个网站mysite2,操作步骤同样

网站默认根目录为:C:\websoft9\wampstack-*\apache2\htdocs

管理Windows系统,其实通过远程桌面登录到Windows服务上,通过拷贝粘贴就可以完成文件管理,无需FTP。

如果是多人使用Windows,需要使用FTP的话,请参考如下文档:

9Panel是Websoft9公司自主研发的快捷面板工具,9Panel面板主要是集成数据库管理工具、系统运维工具、文档和支持服务入口,重点在于连接知识库和服务,几乎不会占用系统资源,也不会对系统文件进行任何修改。

通过chrome或Firefox浏览器访问:http://ip/9panel,即可进入面板页面。

如果没有完成应用程序的安装,请根据面板的提示完成应用程序的安装。

WAMP镜像默认安装了可视化MySQL管理工具phpMyadmin。 如何使用PhpMyAdmin数据库?

  1. 通过本地Chrome或Firefox浏览器,访问:http://服务器公网IP/9panel
  2. 点击左侧菜单的“数据库管理”项,会进入“登录PhpMyAdmin”链接
  3. 选择您需要的语言,然后输入root和对应的密码,然后登录到系统中

常见的数据库相关操作包括: 修改root密码、创建数据库、创建用户和权限设置、导入和导出等,具体参考《MySQL文档-PhpMyAdmin常见操作》

WAPP镜像默认安装了可视化Postgresql管理工具phppgadmin。 如何使用phppgadmin来管理数据库?

  1. 通过本地Chrome或Firefox浏览器,访问:http://服务器公网IP/9panel
  2. 点击左侧菜单的“数据库管理”项,会进入“登录phppgadmin”链接,然后账号(postrgres/123456),登录

域名设置分为两个步骤:

步骤1:域名控制台解析域名

如果您的域名备案(大陆之外无需备案),可以通过云厂商的域名控制台进行域名解析,操作如下:

  1. 登录域名控制台->域名解析,进入解析设置界面(以阿里云为例)
  2. 增加一条A记录,主机记录那里填写二级域名的前缀(如www,shop,test等)或通配符@,记录值填写您的服务器公网ip地址,保存
  3. 域名解析成功,等待解析生效(不同的厂商解析生效时间不一样,1分钟-24小时不等)

注意:解析生效之后,本地访问可能由于缓存问题导致仍然没有生效,请清空浏览器缓存,然后通过CMD命令行刷新本地DNS操作

步骤2:修改虚拟主机配置文件(非必要)

请远程登录到Windows服务器后,修改:C:\websoft9\wampstack-*\apache2\conf\extra\httpd-vhosts.conf

将其中与域名、网站文件目录相关的信息修改成自己的,然后重启Apache服务器

说明:如果你计划在服务器上增加更多应用,本步骤是必要的

也许你希望将网站根目录设置到D盘或不喜欢现在根目录的位置,这个时候就需要修改网站默认根目录了。WAMP环境的根目录是可以被修改的,具体只需2个步骤:

  • 修改配置文件:C:\websoft9\wampstack-*\apache2\conf\extra\httpd-vhosts.conf,将DocumentRoot值修改成新的值,例如:D:\mysite
    <VirtualHost *:80>
        DocumentRoot "C:\websoft9\wampstack-7.0.26-1\apache2\htdocs"
        ServerName dummy-host.example.com
        ServerAlias www.dummy-host.example.com
        ErrorLog "logs/dummy-host.example.com-error.log"
        CustomLog "logs/dummy-host.example.com-access.log" common
    </VirtualHost>
  • 重启Apache服务

 

待续…

使用PHP应用程序的时候,php组件的启用或停用、邮件设置、上传文件大小等控制都会涉及修改php配置文件。本镜像php配置文件的安装目录为:C:\websoft9\wampstack-*\php\php.ini 下面是一些与安装相关的php参数:

  • memory_limit – Minimum: 256M   //内存最大限制值
  • upload_max_filesize – Minimum: 20M  //上传文件最大值
  • post_max_size – Minimum: 200   //通过POST提交数据的最大值
  • max_execution_time: At Least 120 Recommended: 300  //PHP最大执行时间

需要修改上述参数的值,只需远程桌面到Windows服务器,然后修改相关参数后,重启Apache即可

实例:如何修改上传文件大小限制?

通过Windows远程桌面修改php.ini 如下的部分

; Maximum size of POST data that PHP will accept.
post_max_size = 16M
; Maximum allowed size for uploaded files.
upload_max_filesize = 16M

保存后,重启Apache服务,如果您不会使用命令操作,通过云服务器后台去重启服务器也可以达到同样的效果。

实例:如何修改系统最大响应时间?

我们在运行应用程序的时候,常常会等待很长的时间之后,却收到这样的错误提示 “Maximum execution time of 30 seconds exceeded”。这种情况下就需要通过修改the max_execution_time(最大执行响应时间)的值来解决这个问题。

方法一(推荐): 通过修改php.ini 如下的部分

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 90
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.

方法二: 如果应用程序支持 .htaccess,请修改它:

<IfModule mod_php5.c>
php_value max_execution_time 90
</IfModule>

保存后,重启Apache服务,如果您不会使用命令操作,通过云服务器后台去重启服务器也可以达到同样的效果。

新增站点报错You don't have permission to access/on this server

新增站点报错You don’t have permission to access/on this server,

解决方法如下:

  1. 网站目录的权限
  2. 配置文件是否与下面的范例保持一致,特别是“AllowOverride All   Require all granted”写法务必一样
    <VirtualHost *:80>
    ServerName www.mydomain.com 
    ServerAlias mydomain.com 
    
    DocumentRoot "C:\websoft9\wampstack-*\apache2\htdocs\mysite1"
    ErrorLog "/var/log/httpd/mysite1_error_apache.log"
    CustomLog "/var/log/httpd/mysite1_apache.log" common
    <Directory "C:\websoft9\wampstack-*\apache2\htdocs\mysite1">
    Options Indexes FollowSymlinks
    AllowOverride All
    Require all granted
    </Directory>
    </VirtualHost>

 

如何解决PHP的http-proxy漏洞?

http://bbs.websoft9.com/forum.php?mod=viewthread&tid=149

解决ignoring unsupported language code错误

连接phpMyAdmin,提示 ignoring unsupported language code 这就是传说中的“phpMyAdmin版本越新,bug越多”,pma4.6系列的界面对中文的支持一向是不好的,4.6.0就出现了简体中文和繁体中文设置无效的情 况,4.6.1干脆就开始报错。由于pma会自动检测浏览器的语言环境来设置自身的语言,中文版的浏览器下面pma会自动触发中文设置,造成上图的错误。

  • 用编辑器打开phpMyAdmin中的libraries目录下面的config.default.php,在2566行附近找到$cfg[‘Lang’] = ‘ ‘;在单引号里面填入“en”(不含引号),完成之后保存文件。 /** * Force: always use this language, e.g. ‘en’ * * @global string $cfg[‘Lang’] */ $cfg[‘Lang’] = ‘en’;
  • 确认保存成功,重新尝试进入phpMyAdmin的登陆界面,报错界面不再出现。

更好的修改方法:直接下载phpMyAdmin4.5之前版本或最新版本,替换掉有bug的新版本。 默认phpmyadmin所在目录C:\websoft9\wampstack*\appsp\hpmyadminhtdocs

如何设置phpMyAdmin只允许在127.0.0.1访问?

WAMP环境上,默认已经开启远程连接phpMyAdmin管理数据库。那么如何修改,可以使得远程不能管理数据库呢?

  1. 备份C:\websoft9\wampstack-7.0.26-1\apps\phpmyadmin\conf目录下的httpd-app.conf文件,确保修改出错时能够快速改回来;
  2. 修改httpd-app.conf文件内容,将Require local前面加上#号,增加Require all granted一条规则,参加如下:
    <Directory "C:\websoft9\wampstack-7.0.26-1/apps/phpmyadmin/htdocs">    
    # AuthType Basic
    # AuthName phpMyAdmin
    # AuthUserFile "C:/websoft9/wampstack-7.0.26-1/apache2/users"
    # Require valid-user
    AllowOverride None
    php_value upload_max_filesize 80M
    php_value post_max_size 80M
    
    <IfVersion < 2.3 >
    Order allow,deny
    Allow from 127.0.0.1
    Satisfy all
    </IfVersion>
    <IfVersion >= 2.3>
    #Require local
    Require all granted
    </IfVersion>
    ErrorDocument 403 "For security reasons, this URL is only accessible using localhost (127.0.0.1) as the hostname."    
    </Directory>
  3. 重新启动Apache服务后生效

服务随操作系统自动启动,如果手工修改配置参数后,需要重新启停服务。

  • 方法一:桌面上双击“manager-windows”图标,打开Bitnami WAMP管理界面,点击“Manage Servers”,通过Restart按钮就可以重启服务了
  • 方法二:在“开始”-> “管理工具”->“服务”中重启wampstackApache、wampstackMysql服务。

网站技术日新月异,更新升级是维护工作之一,长时间不升级的程序,就如长时间不维护的建筑物一样,会加速老化、功能逐渐缺失直至无法使用。镜像完整的升级包括:操作系统补丁升级、运行环境补丁漏洞升级和应用程序升级三个部分。

应用软件的升级

应用软件的升级请根据具体软件而定,可供参考的例子包括:

网站的定期备份和重要操作之前的备份工作(如系统升级或重要修改)无比重要,可以做到防范于未然,让发生了意外而能够进行复原,这是网站运维工作的重中之重。 镜像的备份有基于服务器快照自动备份、手动本地备份方式,两种凡是各有利弊,建议结合起来使用

服务快照自动备份

云服务器厂商都会提供一个叫“快照”的功能,快照是针对于服务器的磁盘来说的。快照工具可以记录指定时间点硬盘的数据,全部备份起来,并可以实现一键恢复。 如果您对磁盘进行了自动的快照设定,如下场景您便可以比较从容的面对: 1、工作了几天的成果,被误删了 2、黑客把把网站网站弄的面目全非 3、现在的内容已经乱七八糟了,我要回到一个正常的服务器状态 做了快照备份,一键恢复到备份时间点的状态。也就是现场还原,很好的功能。 不同的云厂商快照设置稍有差别,具体参考:

手工本地备份

手工本地备份主要是通过下载应用程序文件和备份导出数据库文件,建议备份周期每月一次,备份文件保存6个月左右。下面就具体的备份操作进行说明:

  1. 通过SFTP工具登录到服务器,将网站目录完整的下载到本地(如果文件数量比较多,建议压缩后再下载) 
  2. 通过浏览器进入PhpMyAdmin(网址:http://服务器公网ip/phpMyAdmin),进入数据库管理界面
  3. 左侧菜单中选择所需的数据库,顶部导航栏上选择“导出”标签 
  4. 选择导出方式和格式(建议SQL),点击“执行”,导出文件后下载到本地
  5. 将程序文件和数据库文件放到同一个文件夹,根据日期命名,备份工作完成

本文档由长沙网久软件有限公司原创,为了保证文档的严肃性和可用性,任何人不得盗用或修改后二次分发。需转载请标注来源,否则我们保留给予法律追究的权利。

我们会定期更新文档,请访问在线文档以获取最新版本

本文档在线地址:http://www.websoft9.com/xdocs/wampwapp-9panel-image
合作或技术支持:http://www.websoft9.com