I have a thorough understanding of Linux, so I have encountered all these things. Make a summary. Install MySql in Linux using the tar package installation mode 1. Create a directory and user group Mkdir/usr/local/MySQL Groupadd MySQL Useradd-G MySQL 2. Unzip and install Tar zxvf mysql-3.23.58.tar.gz CD mysql-3.23.58 . /Configure -- prefix =/usr/local/MySQL -- sysconfdir =/etc -- localstatedir =/var/lib/MySQL -- With-named-urses-IBS =/usr/lib/libncursesw. so.5 # Prefix =/usr/local/MySQL target directory for MySQL Installation # Sysconfdir =/etc my. ini configuration file path # Localstatedir =/var/lib/MySQL database storage path # With-named-urses-IBS if this sentence does not exist, the make file cannot be generated. Make Make install 3. create databases and tables/Usr/local/MySQL/bin/mysql_install_db -- user = MySQL Copy the configuration file in three environments: large, medium, and small. Select the one based on the machine performance. If the load is heavy, you can modify the memory usage values of some variables. CP/usr/local/MySQL/share/MySQL/my-medium.cnf/etc/My. CNF Change directory permissions and Groups Chmod 755-r/usr/local/MySQL/ Chown mysql. mysql-r/usr/local/MySQL/ Start MySQL /Usr/local/MySQL/bin/mysqld_safe & OK. Check if MySQL works properly. Mysql-uroot MySQL (In this case, the MySQL service is started, but the command not found prompt is entered in MySQL) Solution: Map mysqlpath/bin/MySQL to the/usr/local/bin directory: CD/usr/local/bin Ln-fs/mysqlpath/bin/MySQL After completing the above steps, copy a script in your compiled directory CP support-files/MySQL. Server/etc/rc. d/init. d/mysqld Chkconfig -- add mysqld Set ntsysv to enable MySQL to run automatically at each startup. Now that MySQL is installed, you can start your MySQL service. /Etc/rc. d/init. d/mysqld start The following steps are critical, Ln-S/usr/local/MySQL/lib/MySQL/usr/lib/MySQL Ln-S/usr/local/MySQL/include/MySQL/usr/include/MySQL You can skip this step. You can customize the myslq library file path when compiling other software, but I still like to link the library file to the default location, so that you are compiling PHP like, when using software such as Vpopmail, you do not need to specify the MySQL library file address. Install Rpm needs Yum to run, so the compressed version of Taz is downloaded. The installation procedure is as follows: Shell> groupadd MySQL Shell> useradd-G MySQL Shell> Cd/usr/local Shell> gunzip </path/to/mysql-VERSION-OS.tar.gz | tar xvf- Shell> ln-s full-path-to-mysql-version-OS MySQL Shell> Cd MySQL Shell> chown-r MySQL. Shell> chgrp-r MySQL. Shell> scripts/mysql_install_db -- user = MySQL Shell> chown-r root. Shell> chown-r Mysql Data Shell> bin/mysqld_safe -- user = MySQL & (start) Key points: Create mysql users and groups, decompress them, create shortcuts (important), modify permissions, and import the initial table Set Password Mysqladmin-u Root Password 'newpassword' (no single quotation marks are entered) Create a MySQL self-starting service In the support-file under the MySQL directory, there is a STARTUP script program named myslq. server. Copy it to the/etc/rc. d/init. d directory (renamed MySQL ): # Cd/etc/rc. d/init. d # Cp/usr/local/MySQL/support-files/MySQL. Server MySQL Change its attribute to "X" (executable, executable) # Chmod + x MySQL Finally, run chkconfig to add MySQL to the startup Service Group of your system. #/Sbin/chkconfig -- del MySQL #/Sbin/chkconfig -- add MySQL Remote connection permission Log on to the MySQL Console (./MySQL-u root-P) Update user set host = '%' where user = 'root '; PS: After setting it, I found that the localhost could not be accessed. I re-used the remote UI to configure a record for the localhost in the user. (Which of the following is the root password of the user. Server encoding settings MySQL uses the Latin character set by default. garbled characters are generated when the source command is used to import Chinese data. Put a certain my X. copy CNF to/etc/(renamed my. CNF), add default-character-set = utf8 under [mysqld], and add default-character-set = utf8 under [client. If the server is running, restart it. Log on to the MySQL console and use/s to view the encoding information. Data Migration in Windows If you use the copy table file method, note that: 1. You need to set the permission for copying previous table files. You can set the permission according to the permission of the MySQL database. The code for setting the owner and the group is as follows: Chown MySQL *.* Chgrp MySQL *.* 2. Pay attention to the table name problem. The names of the Windows tables are set to lower case, while the original table names are used in Linux.
Apache installation1. Go to the download directory: CD/home/wangnan/soft 2. decompress the file: Tar zxvf httpd-2.2.6.tar.gz Decompress the package to generate a httpd-2.2.6 directory for the installation source file directory 3. Go to the installation source file directory CD httpd-2.2.6 4. Generate the configuration file before installation. Here, the-Prefix specifies that Apache installation will be installed in the/usr/local/Apache directory. ./Configure -- prefix =/usr/local/Apache -- enable-modules = so -- enable-Rewrite 5. Generate the make file and install: Make; make install After completion: Echo "/usr/local/Apache/bin/apachectl start">/etc/rc. d/rc. Local After the system is started, Apache is started automatically. You can view VI/etc/rc. d/rc. Local. (In this case, you cannot access the Apache homepage) Solution: Firewall: Run the/etc/init. d/iptables STATUS Command to check whether port 80 is enabled. If port 80 is not enabled, you can use either of the following methods: 1. Modify the VI/etc/sysconfig/iptables command to add the firewall to open port 80 -A RH-Firewall-1-INPUT-M state -- state new-m tcp-p tcp -- dport 80-J accept 2. Disable the Firewall /Etc/init. d/iptables stop # Start # Restart Permanently disable the firewall chkconfig -- level 35 iptables off
Install the support package before installing PHP. Otherwise, it is like I have encountered errors all the time. First, you must have GCC on the server. Otherwise, you cannot do anything. You can use gcc-V to check whether GCC is installed, Gd-2.0.28.tar.gz Libxml2-2.X.X.tar.gz The zlib-1.X.X.tar.gz has forgotten, Jpegsrc.v6b.tar.gz Libpng-1.2.5.tar.gz Freetype2-X.X.tar.gz Install libxml # Tar-zxf libxml2-2.6.16.tar.gz # Cd libxml2-2.6.16 #./Configure (XML can be installed by default, do not specify the path, because PHP may not find it during installation, PhP5 only supports libxml2-2.5.10 and later versions) # Make # Make install Install zlib # Tar-zxf zlib-1.2.2.tar.gz # Cd zlib-1.2 #./Configure -- prefix =/usr/local/zlib2! Similar to the following !) # Make # Make install Install JPEG # Tar-zxf restart src.v6b.tar.gz # Cd jpeg-6b/ #./Configure -- prefix =/usr/local/Issue 6 # Make # Make install-lib If you choose to install it by default, it may be very smooth. After specifying the path, please first create the following folder Error message:.../usr/bin/install-C-M 644 jconfig. h/usr/local/Issue 6/include/jconfig. h /Usr/bin/install: The general file '/usr/local/defaults 6/include/jconfig. H' cannot be created: the file or directory does not exist. Make: *** [install-headers] Error 1 # Mkdir/usr/local/limit 6 # Mkdir/usr/local/latest 6/include # Mkdir/usr/local/IPv6/lib # Make install-lib # Make install If an error occurs during installation: /Usr/bin/install: The general file '/usr/local/defaults 6/lib/libjpeg. A' cannot be created: the file or directory does not exist. Make: *** [install-lib] Error 1 Create the following folder: # Mkdir/usr/local/IPv6/lib # Make install /Usr/bin/install-C cjpeg/usr/local/Listen 6/bin/cjpeg /Usr/bin/install: The general file '/usr/local/defaults 6/bin/cjpeg' cannot be created: the file or directory does not exist. Make: *** [install] Error 1 # Mkdir/usr/local/partition 6/bin /Usr/bin/install-C-M 644./c0000.1/usr/local/sort 6/man/Man1/c0000.1 /Usr/bin/install: The general file '/usr/local/Hangzhou 6/man/Man1/c0000.1' cannot be created: the file or directory does not exist. Make: *** [install] Error 1 # Mkdir/usr/local/IPv6/man # Mkdir/usr/local/IPv6/man/Man1 # Make install Okay, until the installation is successful! Install libpng: # Tar-zxf libpng-1.2.7-config.tar.gz # Cd libpng-1.2.7-config #./Configure -- prefix =/usr/local/libpng2 # Make # Make install Install FreeType: # Tar-zxf freetype-2.1.9.tar.gz # Cd freetype-2.1.9 #./Configure -- prefix =/usr/local/FreeType2 # Make # Make install Install the GD library: # Tar-zxf gd-2.0.26gif.tar.gz # Cd gd-2.0.26gif #. /Configure -- prefix =/usr/local/GD2 -- With-zlib =/usr/local/zlib2/-- With-PNG =/usr/local/libpng2/-- With-JPEG = /usr/local/release 6/-- With-FreeType =/usr/local/FreeType2/(specify the installation path of the pass plug-in, otherwise, an error may occur when installing PHP !) # Make # Make install # Tar-zxf php5-200411260130.tar.gz # Cd php5-200411260130 #. /Configure -- prefix =/usr/local/PHP -- with-apxs2 =/usr/local/apache2/bin/apxs -- With-JPEG-Dir =/usr/local/defaults 6/-- -PNG-Dir =/usr/local/libpng2/-- With-Gd =/usr/local/GD2/-- With-FreeType-Dir =/usr/local/FreeType2/-- enable -Trace-vars -- With-zlib-Dir =/usr/local/zlib2/-with-mysql =/var/lib/MySQL (* Note: if the preceding package supports installation paths, write the path for this configuration. If there is no installation path, write only with-** instead of the path, otherwise, an error is reported .) # Make # Make install Add the PHP configuration file: Cp php. ini-Dist/usr/local/PHP/lib/PHP. ini (* Note: The file does not contain the php. ini-Dist file. In fact, PHP. ini-production can be used) Configure Apache to support PHP Edit/usr/local/Apache/CONF/httpd. conf Find addtype application/X-gzip. GZ. tgz and add the following content under it: Addtype application/X-httpd-PHP. php Find directoryindex index.html and change it to directoryindex index. php index.html index.htm. /Usr/local/Apache/bin/apachectl stop /Usr/local/Apache/bin/apachectl start The following error is reported when you restart Apache: Httpd: syntax error on line 53 of/usr/local/Apache/CONF/httpd. conf: cannot load/usr/local/Apache/modules/libphp5.so into server:/usr/local/Apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied Cause: There is a SELinux protection mode in Linux. Solution: 1. Method for disabling SELinux: VI/etc/SELinux/config change SELinux = enforcing to SELinux = disabled and restart This method may cause risks to the server. 2. Do not disable SELinux: # Setenforce 0 # Chcon-C-v-r-u system_u-r object_r-T textrel_shlib_t/usr/local/Apache/modules/libphp5.so # Service httpd restart # Setenforce 1
|