|
|
(未显示同一用户的39个中间版本) |
第1行: |
第1行: |
| =Ubuntu Web Servers=
| |
|
| |
|
| Refers to: https://help.ubuntu.com/12.04/serverguide/web-servers.html
| |
|
| |
|
| [[Ubuntu/Web Servers]]
| |
|
| |
|
| 一个Web服务器是一个软件负责从客户端接受HTTP请求,所谓客户端通常被认为是Web浏览器,它服务客户端HTTP请求及可选的数据内容,它们通常是Web页面例如HTML文档及链接的对象(图片等)。
| | =Contributes= |
|
| |
|
| [[#HTTPD - Apache2 Web Server]] | | * [[Sudo]], upading based on others. |
| | * [[Ubuntu/Web Servers]], new creating, sub pages are not finished yet. |
| | *: [[Ubuntu/Web Servers/HTTPD - Apache2 Web Server]] |
| | *: [[Ubuntu/Web Servers/PHP - Scripting Language]] |
| | *: [[Ubuntu/Web Servers/Squid - Proxy Server]] |
|
| |
|
| [[PHP5 - Scripting Language]]
| | =Doing= |
|
| |
|
| [[Squid - Proxy Server]] | | * [https://www.gnu.org/software/bash/manual/bash.html#Readline-Bare-Essentials Bash Reference Manual] |
| | *: [[Bash Reference Manual]] |
| | *: [[Bash Reference Manual/zh]] |
|
| |
|
| [[Ruby on Rails]]
| | =Want to= |
|
| |
|
| [[Apache Tomcat]] | | * [https://help.ubuntu.com/lts/serverguide/remote-administration.html Remote Administration] |
| | | * [http://php.net/manual/en/book.pgsql.php PostgreSQL] |
| ==HTTPD - Apache2 Web Server==
| | * [http://help.eclipse.org/mars/index.jsp?nav=%2F0 PDT] |
| | | * [http://help.eclipse.org/mars mars] |
| Apache是Linux系统中最广泛使用的Web Server。众多的Web Server被客户端计算机使用以提供相关的Web页面请求服务。客户端通常使用Web Browser发出请求并浏览Web页面,诸如''Firefox''、''Opera''、''Chromium''或者''Mozilla''。
| | * [https://app.netease.im/index#/ cloud] |
| | |
| 用户输入的统一资源定位符(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 ships with a virtual-host-friendly default configuration. That is, it is configured with a single default virtual host (using the VirtualHost directive) which can modified or used as-is if you have a single site, or used as a template for additional virtual hosts if you have multiple sites. If left alone, the default virtual host will serve as your default site, or the site users will see if the URL they enter does not match the ServerName directive of any of your custom sites. To modify the default virtual host, edit the file /etc/apache2/sites-available/default.
| |
| #: <span style="background:lightgray">The directives set for a virtual host only apply to that particular virtual host. If a directive is set server-wide and not defined within the virtual host settings, the default setting is used. For example, you can define a Webmaster email address and not define individual email addresses for each virtual host. </span>
| |
| #: If you wish to configure a new virtual host or site, copy that file into the same directory with a name you choose. For example:
| |
| #: <code>sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite</code>
| |
| #: Edit the new file to configure the new site using some of the directives described below.
| |
| # 22
| |
| | |
| =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
| |