查看“用户:Jinzd”的源代码
来自Ubuntu中文
←
用户:Jinzd
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=Ubuntu Web Servers= [[Bash Reference Manual]] [https://help.ubuntu.com/lts/serverguide/index.html Ubuntu Server Guide] Refers to: https://help.ubuntu.com/12.04/serverguide/web-servers.html [[Ubuntu/Web Servers]] 一个Web服务器是一个软件负责从客户端接受HTTP请求,所谓客户端通常被认为是Web浏览器,它服务客户端HTTP请求及可选的数据内容,它们通常是Web页面例如HTML文档及链接的对象(图片等)。 [[#HTTPD - Apache2 Web Server]] [[PHP5 - Scripting Language]] [[Squid - Proxy Server]] [[Ruby on Rails]] [[Apache Tomcat]] ==HTTPD - Apache2 Web Server== Apache是Linux系统中最广泛使用的Web Server。众多的Web Server被客户端计算机使用以提供相关的Web页面请求服务。客户端通常使用Web Browser发出请求并浏览Web页面,诸如''Firefox''、''Opera''、''Chromium''或者''Mozilla''。 用户输入的统一资源定位符(URL)指向一个Web server,并依赖其全称域名(FQDN)及路径指向需要的资源。例如,用户可以输入下面的FQDN以浏览Ubuntu Web site的主页: <pre> www.ubuntu.com </pre> 要浏览community子页面则可以输入下面的FQDN: <pre> www.ubuntu.com/community </pre> 最常见的用于传输Web Page的协议是超文本传输协议(HTTP)。其他协议还包括超文本传输协议加安全套接字层的(HTTPS),以及文件传输协议(FTP)用于上传和下载文件,它们均是被支持的协议。 Apache Web Server常常与MySQL数据库引擎组合使用,超文本预处理器的脚步语言(PHP),以及其他流行的脚本语言如Python和Perl。这个配置被术语化为LAMP(Linux, Apache, MySQL and Perl/Python/PHP)它们针对开发和部署基于Web的应用形成了一个强大健壮的平台。 [[#Installation|安装]] [[#Configuration|配置]] [[#HTTPS Configuration|HTTPS 配置]] [[#Sharing Write Permission|共享写权限]] [[#References|引用]] ===Installation=== ===Configuration=== Apache2的配置指令存放于多个纯文本的配置文件中。这些配置指令被分割为多个文件并放置于多个目录中: # ''apache2.conf'': Apache2的主配置文件。它包含Apache2的一些全局设置。 # ''conf.d'': 目录,包含一些Apache2的全局配置文件。Apache2的其他内容服务包可以添加文件,符号链接到这个目录。 # ''envvars'': 用于设置Apache2环境变量的文件。 # ''httpd.conf'': 历史上是Apache2的主配置文件,命名的httpd守护进程。现在,这个文件通常是空的,大多配置选项被移动到下面的引用目录。这个文件可用于用户指定特定的配置选项并作用于全局Apache2。 # ''mods-available'': 这个目录包含多个配置文件以装载和配置他们。当然不是所有模块都将拥有特定的配置文件。 # ''mods-enabled'': 持有符号链接的文件存放于/etc/apache2/mods-available。当一个模块配置文件持有符号链接时,它们将在apache2下次启动后生效。 # ''ports.conf'': 放置的指令用于描述Apache2正在监听的TCP端口。 # ''sites-available'': 该目录用于存放Apache2虚拟主机的配置文件。虚拟主机允许Apache2使用分开的配置去配置多个站点。 # ''sites-enabled'': 如同mods-enabled、sites-enabled包含符号链接并存放于/etc/apache2/sites-available目录。同样地,当在sites-available中的一个配置文件是符号链接时,在Apache2重新启动时该配置站点将被激活一次。 此外,其他的配置文件可以通过Include指令添加,并且通配符可以被使用以包含多个配置文件。任何指令都可以被放置在这些配置文件中。主配置文件的更新仅在Apache2启动或重启动时才能被识别并应用。 服务器也将读取一个包含mime文档类型的文件;改文件名通过TypesConfig指令设置,通常经由/etc/apache2/mods-available/mime.conf,它可以包含附加和重写,缺省是/etc/mime.types。 : 基本设置 : <hr/> : 这一节解释Apache2服务器基本配置参数。更多细节请参阅Apache2 Documentation。 # Apache2附带一个虚拟主机友好的缺省配置。也就是说,它被配置为有一个缺省的虚拟主机(使用VirtualHost指令)并且这个虚拟主机可以被修改或直接使用如同你有了一个站点;或者如果你有多个站点,它也可作为其他虚拟主机模板使用。假如只有一个站点,该缺省虚拟主机将作为你的缺省站点;或者,当用户输入的URL与ServerName指令不匹配时用户也将看到此站点。要修改缺省虚拟主机设置,可以编辑文件/etc/apache2/sites-available/default。<br/><span style="background:lightgray">该虚拟主机设置指令只适用于待定的虚拟主机。如果一个指令定义的服务器范围没有在虚拟主机设置中被定义,则使用这个缺省设置。例如,你能定义一个Webmaster邮件地址但是没有为每个虚拟主机定义单独的邮件地址。</span><br/>如果你希望配置一个新的虚拟主机或站点,则以另一文件名拷贝该文件到同一目录下。例如:<br/><code style="background-color:lightgray">sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite</code><br/>按下列指令及描述编辑该新文件以配置这个新站点。 # ''ServerAdmin''指令指明服务器管理员的邮件地址。其缺省值是webmaster@localhost。它应更新为递送到你的邮件地址(如果你是服务器管理员)。如果你的站点有问题,Apache2将把这个邮件地址包含在消息中并报告相关问题。包含该指令的配置文件可以在/etc/apache2/sites-available中找到。 # ''Listen''指令用于指明端口以及可选的IP地址,以便Apache2侦听。如果IP地址没有被指明,Apache2将侦听所有分配到该机的IP地址。该''Listen''指令的缺省值是80。改变这个值为127.0.0.1:80 将引起Apache2只侦听本地回环接口这将导致它在互联网上是不可用的,对于(例如)81设置将改变侦听端口,或放弃正常的设置。这个指令可以被找到并更改在文件/etc/apache2/ports.conf # ''ServerName''指令是一个可选的,它用于指定你的站点应答的FQDN。缺省的虚拟主机没有定义''ServerName''设置,所以虚拟机将响应所有与''ServerName''指令不匹配的请求。如果你捕获了域名ubunturocks.com并且希望在你的Ubuntu服务器上主持它,则''ServerName''指令需要在你的虚拟主机配置文件中设置为ubunturocks.com。添加这个指令到你早先建立的新的虚拟主机文件(/etc/apache2/sites-available/mynewsite)。<br/>你或许也想让你的站点响应www.ubunturocks.com,因为很多用户都会假定www前缀是恰当的,这个情况可以使用''ServerAlias''指令解决。你也可以使用通配符在''ServerAlias''指令中。<br/>例如,以下配置将导致你的站点响应任何以.ubunturocks.com结束的域请求。<br/><code style="background-color:lightgray">ServerAlias *.ubunturocks.com</code> # ''DocumentRoot''指令指明Apache2将在什么地方找到构成站点文件。缺省值是/var/www,它被存于/etc/apache2/sites-available/default。如果愿意,可以在你虚拟主机站点文件中改变这个值,并且在必要是创建该目录! : 允许新的VirtualHost请使用a2ensite工具并且重启Apache2:<br/><code style="background-color:lightgray">sudo a2ensite mynewsite<br/>sudo service apache2 restart</code> :: <span style="background-color:lightgray">针对VirtualHost请确保使用更具描述性的名称替换''mynewsite''。方法之一是该VirtualHost的ServerName指令后命名它。</span> : 类似的,使用a2dissite工具以禁用站点。这也可用于针对多虚拟主机的故障排除配置:<br/><code style="background-color:lightgray">sudo a2ensite mynewsite<br/>sudo service apache2 restart</code> : 缺省设置 : <hr> : 这一节介绍Apache2服务器的缺省设置。例如,如果你添加一个虚拟主机,缺省配置要优先于其他的虚拟主机设置,对于没有定义虚拟主机,缺省设置将被使用。 # ''DirectoryIndex''是默认页面,当用户请求服务器目录时指定斜杠(/)的目录名称后将被使用。<br/>例如,当用户请求http://www.example.com/this_directory/时,他或她得到DirectoryIndex指定的页如果这个页面存在,对于服务器生成的目录列表,如果没有Indexes选项被指定,或者页面的访问权限被拒绝。服务器将尝试发现''DirectoryIndex''指令指定的文件,如果有或有多个则第一个将返回给请求。如果没找到或这Options Indexes设置为目录,服务器将生成一个HTML格式的目录表并列出目录中的文件和子目录。对于缺省值如果/etc/apache2/mods-available/dir.conf指定是"index.html index.cgi index.pl index.php index.xhtml index.htm"。对于这种情况,Apache2一旦发现任何匹配的文件则第一个将被显示。 # ''ErrorDocument'' 指令允许你为Apache2指定一个错误事件时使用的文件。例如,如果用户请求的资源不存在,则404错误将发生。缺省情况下,Apache2将简单的返回一个HTTP 404代码。更细节的有关使用''ErrorDocument''的指导请读/etc/apache2/conf.d/localized-error-pages文件以及相关的示例文档。 # 缺省情况下,服务器将写日志到/var/log/apache2/access.log文件。你可以针对每个站点单独进行设置,设置通过虚拟主机配置文件的''CustomLog''指令完成,或者省略它而接受缺省值,配置文件在/etc/apache2/conf.d/other-vhosts-access-log。你也可以在这个文件中指定哪些错误需要日志,这个通过''ErrorLog''指令完成,它的缺省设置在/var/log/apache2/error.log。在Apache2服务器中,日志及故障问题等都保持分开的设置。你也可以指定''LogLevel''(缺省值是"warn")及''LogFormat''(请参看/etc/apache2/apache2.conf中的缺省值)。 # 一些选项也可以针对一个预设的目录(per-directory)来指定而不是一台预设的服务器(per-server)。所谓''Options''就是以上指令。一个Directory将被封装在一个XML类似的标签内,例如:<br/><code style="background-color:lightgray"><Directory /var/www/mynewsite><br/>...<br/></Directory></code><br/>在Directory标签内的选项指令也接受一个或多个以空格分开的以下设置值: :# '''ExecCGI''' - 允许执行CGI脚本。如果没有选择此选项则CGI脚本不会被执行。 :#: <span style="background-color:lightgray">如同CGI脚本,多数文件都不应该被执行。脚本执行是非常危险的。CGI应该保存于你的DocumentRoot之外的一个独立的目录中,并且只有这个目录拥有ExecCGI选项设置。对此的一个缺省设置在/usr/lib/cgi-bin。</span> :# '''Includes''' - 允许服务器端包含(server-side)。服务器端包含允许一个HTML文件包含其他文件。请参看Apache SSI documentation (Ubuntu community)以获取更多的信息。 :# '''IncludesNOEXEC''' - 允许服务器端包含,但是禁止CGI脚本中的''#exec''和''#include''命令。 :# '''Indexes''' - 在一个请求的目录中,如果没有''DirectoryIndex'' 设置(例如index.html),则显示一个目录内容为一个格式化的列表。 :#: <span style="background-color:lightgray">出于安全的原因,它通常是不设置的,尤其是你的DocumentRoot目录。如果你确实需要看到目录的全部内容,你应该针对每个目录小心的使用这个设置。</span> :# '''Multiview''' - 支持content-negotiated的多视图;出于安全原因,这个选项缺省是禁止的。请参看Apache2 documentation有关此选项的内容。 :# '''SymLinksIfOwnerMatch''' - 作为链接,如果目标文件或目录有相同的宿主则链接遵循符号链接。 =Ubuntu= ==sudo== 以其他用户身份执行一个命令. 用法: : sudo -h | -K | -V : sudo -v [-Akns] [-g group] [-h host] [-p prompt] [-u user] : sudo -l [-Akns] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command] : sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [p prompt] [-u user] [VAR=value] [-i|-s] [<command>] : sudo -e [-Akns] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-u user] file ... Options: {| style="border: none" width="100%" |- | width="200px" | -A, --askpass | 使用一个辅助程序以提示密码。 |- | -b, --background | 在后台运行命令。 |- | -C, --close-from=num | 关闭所有大于等于num的文件描述。 |- | -E, --preserve-env | 运行命令时保存用户环境。 |- | -e, --edit | 编辑文件而非运行一个命令。 |- | -g, --group=group | 以指定的组名或组ID运行一个命令。 |- | -H, --set-home | 设置 HOME 变量以指向用户的 HOME 目录。 |- | -h, --help | 显示帮助信息并且退出。 |- | -h, --host=host | 在主机上运行命令(如果插件支持)。 |- | -i, --login | 以目标用户运行登录shell;也可以指定一个命令。 |- | -K, --remove-timestamp | 完全删除时间戳文件。 |- | -k, --reset-timestamp | 失效时间戳文件。 |- | -l, --list | 列出用户特权或检查一个特定的命令;长格式使用两次。 |- | -n, -- non-interactive | 非交互方式,无提示被使用。 |- | -P, --preserve-groups | 保存组向量而非设置指定的目标。 |- | -P, --prompt=prompt | 使用指定的密码提示。 |- | -r, --role=role | 用指定的角色创建SELinux安全上下文。 |- | -S, --stdin | 从变准输入读取密码。 |- | -s, --shell | 以目标用户运行 shell;也可以指定一个命令。 |- | -t, --type=type | 使用指定的类型创建 SELinux 安全上下文。 |- | -U, --other-user=user | 在列表模式中,显示用户特权。 |- | -u, --user=user | 以指定的用户或用户ID运行命令(或编辑文件)。 |- | -V, --version | 显示版本信息并且退出。 |- | -v, --validate | 更新用户的时间戳而不运行一个命令。 |- | -- | 停止处理命令行参数。 |} ==ifconfig== 用法: : ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>] : [add <address>[/<prefixlen>]] : [del <address>[/<prefixlen>]] : [[-]broadcast [<address>]] [[-]pointopoint [<address>]] : [netmask <address>] [dstaddr <address>] [tunnel <address>] : [outfill <NN>] [keepalive <NN>] : [hw <HW> <address>] [metric <NN>] [mtu <NN>] : [[-]trailers] [[-]arp] [[-]allmulti] : [multicast] [[-]promisc] : [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>] : [txqueuelen <NN>] : [[-]dynamic] : [up|down] ... : <HW>=硬件类型。 : 列表可能的硬件类型: :: loop (Local Loopback) slip (Serial Line IP) cslip (VJ Serial Line IP) :: slip6 (6-bit Serial Line IP) cslip6 (VJ 6-bit Serial Line IP) adaptive (Adaptive Serial Line IP) :: ash (Ash) ether (Ethernet) ax25 (AMPR AX.25) :: netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel) :: ppp (Point-to-Point Protocol) hdlc ((Cisco)-HDLC) lapb (LAPB) :: arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Frame Relay Access Device) :: sit (IPv6-in-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI) :: irda (IrLAP) ec (Econet) x25 (generic X.25) :: eui64 (Generic EUI-64) : <AF>=Address family. Default: inet : List of possible address families: :: unix (UNIX Domain) inet (DARPA Internet) inet6 (IPv6) :: ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE) :: ipx (Novell IPX) ddp (Appletalk DDP) ec (Econet) :: ash (Ash) x25 (CCITT X.25) ==ip== ==iwconfig== ==rfkill== ==ping== ==traceroute== ==arp== ==netstat== ==nslookup== =Java= =C++= ==g++== 用法:g++ [选项] file... 选项: {| style="border: none" width="100%" |- | width="200px" | -pass-exit-codes | Exit with highest error code from a phase |- | --help | Display this information |- | --target-help | Display target specific command line options |- | | |- | | |} --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...] Display specific types of command line options (Use '-v --help' to display command line options of sub-processes) --version Display compiler version information -dumpspecs Display all of the built in spec strings -dumpversion Display the version of the compiler -dumpmachine Display the compiler's target processor -print-search-dirs Display the directories in the compiler's search path -print-libgcc-file-name Display the name of the compiler's companion library -print-file-name=<lib> Display the full path to library <lib> -print-prog-name=<prog> Display the full path to compiler component <prog> -print-multiarch Display the target's normalized GNU triplet, used as a component in the library path -print-multi-directory Display the root directory for versions of libgcc -print-multi-lib Display the mapping between command line options and multiple library search directories -print-multi-os-directory Display the relative path to OS libraries -print-sysroot Display the target libraries directory -print-sysroot-headers-suffix Display the sysroot suffix used to find headers -Wa,<options> Pass comma-separated <options> on to the assembler -Wp,<options> Pass comma-separated <options> on to the preprocessor -Wl,<options> Pass comma-separated <options> on to the linker -Xassembler <arg> Pass <arg> on to the assembler -Xpreprocessor <arg> Pass <arg> on to the preprocessor -Xlinker <arg> Pass <arg> on to the linker -save-temps Do not delete intermediate files -save-temps=<arg> Do not delete intermediate files -no-canonical-prefixes Do not canonicalize paths when building relative prefixes to other gcc components -pipe Use pipes rather than intermediate files -time Time the execution of each subprocess -specs=<file> Override built-in specs with the contents of <file> -std=<standard> Assume that the input sources are for <standard> --sysroot=<directory> Use <directory> as the root directory for headers and libraries -B <directory> Add <directory> to the compiler's search paths -v Display the programs invoked by the compiler -### Like -v but options quoted and commands not executed -E Preprocess only; do not compile, assemble or link -S Compile only; do not assemble or link -c Compile and assemble, but do not link -o <file> Place the output into <file> -pie Create a position independent executable -shared Create a shared library -x <language> Specify the language of the following input files Permissible languages include: c c++ assembler none 'none' means revert to the default behavior of guessing the language based on the file's extension Options starting with -g, -f, -m, -O, -W, or --param are automatically passed on to the various sub-processes invoked by g++. In order to pass other options on to these processes the -W<letter> options must be used. For bug reporting instructions, please see: <file:///usr/share/doc/gcc-5/README.Bugs>. =PostgreSQL= =Eclipse= During eclipse installing, if error occured type following command to fix the error. sudo apt-get install eclipse --fix-missing
返回
用户:Jinzd
。
导航菜单
页面操作
用户页
讨论
阅读
查看源代码
历史
页面操作
用户页
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
用户贡献
日志
查看用户组
特殊页面
页面信息