Linux服務(wù)器上安裝織夢CMS,linux服務(wù)器織夢cms_PHP教程
Jul 12, 2016 am 08:50 AMLinux服務(wù)器上安裝織夢CMS,linux服務(wù)器織夢cms
安裝篇
第一步:配置防火墻(默認(rèn)情況下,端口80和3306是拒絕訪問的,在防火墻上進(jìn)行配置):
- vi?/etc/sysconfig/iptables(在"COMMIT"的上一行加上如下兩句)?
- -A?INPUT?-m?state?--state?NEW?-m?tcp?-p?tcp?--dport?80?-j?ACCEPT(允許80端口通過防火墻)?
- -A?INPUT?-m?state?--state?NEW?-m?tcp?-p?tcp?--dport?3306?-j?ACCEPT(允許3306端口通過防火墻)?
接著重啟防火墻使得配置生效:
- /etc/init.d/iptables?restart?
第二步:安裝Apache
?
使用以下命令安裝Apache:
- yum?install?httpd?
如果出下下面所示的語句,說明已經(jīng)安裝了Apache了,不需要重新安裝:
?
安裝完之后,重新啟動Apache:/etc/init.d/httpd restart
接著將Apache設(shè)置為開機啟動:chkconfig httpd on.(這一步使得服務(wù)器不需要在每次重啟的時候都要手動啟動httpd服務(wù))
要查看httpd服務(wù)的啟動狀態(tài),可以使用命令:chkconfig --list httpd(會顯示httpd在各個級別(level)下的啟動狀態(tài))
第三步:安裝MySQL
1、使用以下命令安裝MySQL:
- yum?install?mysql?mysql-server?
同樣,如果出現(xiàn)提示已安裝的話,就說明系統(tǒng)安裝了MySQL了,可以跳過這一步,否則,系統(tǒng)接下來會自動安裝MySQL。
?
安裝完成了之后,啟動MySQL:/etc/init.d/mysql start
將MySQL設(shè)置為開機啟動:chkconfig mysqld on
最后,拷貝配置文件:cp /usr/share/mysql/my-medium.cnf? /etc/my.cnf (在/etc下有個my.cnf文件,直接覆蓋就行了)
2、用以下命令給root賬戶設(shè)置密碼? ? ?
- mysql_secure_installation?
根據(jù)提示輸入2次密碼,就設(shè)置成功了。注意,在設(shè)置過程中,會提示刪除是否anonymous用戶,是否拒絕root的遠(yuǎn)程訪問,是否刪除測試用的數(shù)據(jù)庫等,這些都需要根據(jù)自己的實際情況進(jìn)行選擇。最后出現(xiàn):Thanks for using MySQL!,設(shè)置密碼成功了。
?
重新啟動MySQL:/etc/init.d/mysqld restart
第四步:安裝PHP
1、使用以下命令安裝PHP:
- yum?install?php?
?
根據(jù)提示往下安裝就行了。安裝完之后重新啟動Apache:/etc/init.d/httpd restart
2、安裝PHP組件,是PHP支持MySQL
可以使用命令:yum search php來查看PHP的組件,選擇需要的模塊進(jìn)行安裝:
?yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
安裝完之后,重啟Apache:/etc/init.d/httpd restart?
重啟MySQL:/etc/init.d/mysqld restart
?
到了這一步,LAMP中的AMP都已經(jīng)安裝完畢了,但是web服務(wù)器此時并不能被訪問,因為要訪問服務(wù)器,還需要對Apache和PHP進(jìn)行相應(yīng)的配置。
配置篇
第一步:配置Apache
修改Apache配置文件:vi /etc/httpd/conf/httpd.conf,并在文件中查找下面所在行,進(jìn)行修改(查找可以在vi的一般模式下輸入“/要查找的字符”進(jìn)行查找):
ServerTokens OS ? ? ? ? ? 修改為: ? ? ServerTokens Prod ? ? ? ? ? ? ? ? ? ? ? (在出現(xiàn)錯誤頁的時候不顯示服務(wù)器操作系統(tǒng)的名稱)
ServerSignature On ? ? ? ?修改為: ? ? ServerSignature Off ? ? ? ? ? ? ? ? ? ? ?(在錯誤頁中不顯示Apache的版本)
Options Indexes FollowSymLinks ? ? 修改為: ? ? Options Includes ExecCGI FollowSymLinks ? ? ? ? ? ? (允許服務(wù)器執(zhí)行CGI及SSI,禁止列出目錄)
#AddHandler cgi-script .cgi ? ? ? ? ?修改為: ? ? AddHandler cgi-script .cgi .pl ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (允許擴(kuò)展名為.pl的CGI腳本運行)
AllowOverride None ? ? ? ? ? ? ? ? ? ? 修改為: ? ? AllowOverride All ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (允許.htaccess)
AddDefaultCharset UTF-8 ? ? ? ? ? 修改為: ? ? AddDefaultCharset GB2312 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(添加GB2312為默認(rèn)編碼)
Options Indexes MultiViews FollowSymLinks ? ? ?修改為 ? ? ?Options MultiViews FollowSymLinks ? ? ? ?(不在瀏覽器上顯示樹狀目錄結(jié)構(gòu))
DirectoryIndex index.html index.html.var ? ? ? ? ? ? 修改為: ?DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var? (設(shè)置默認(rèn)首頁文件,增加index.php)
KeepAlive Off ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?修改為: ? ? KeepAlive On ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(允許程序性聯(lián)機)
MaxKeepAliveRequests 100 ? ? ? ? ? 修改為: ? ? MaxKeepAliveRequests 1000 ? (增加同時連接數(shù))
?
修改好之后保存配置,重新啟動Apache:/etc/init.d/httpd restart
建議刪除默認(rèn)的測試頁面:rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html?
第二步:配置PHP
修改PHP配置文件:vi /etc/php.ini,以下需要修改的行的位置可以通過vi的查找命令來查找:
date.timezone = PRC ? ? ? ? ? ? ? ? ? ?#把前面的分號去掉,改為date.timezone = PRC
disable_functions = ? ? ? ? ? ? ? ? ? ? ? ? ? ? passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru, stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#列出PHP可以禁用的函數(shù),如果某些程序需要用到這個函數(shù),可以刪除,取消禁用。
expose_php = Off ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #禁止顯示php版本的信息
display_errors = OFF ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #關(guān)閉錯誤提示
register_globals = OFF ? ? ? ? ? ? ? ? ? ? ? ? ? #關(guān)閉注冊全局變量
magic_quotes_gpc = On ? ? ? ? ? ? ? ? ? ? ? ?#打開magic_quotes_gpc來防止SQL注入
log_errors = On ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #記錄錯誤日志
error_log = /var/log/php/error_log.log ? #設(shè)置錯誤日志存放目錄,文件必須允許apache用戶的和組具有寫的權(quán)限(注意,在修改之前,要先創(chuàng)建文件/var/log/php/error_log.log,然后在修改其屬性,使其屬于apache用戶和用戶組。chown apache /var/log/php/error_log.log和chgrp apache?/var/log/php/error_log.log)
open_basedir = .:/tmp/ ? ? ? ? ? ? ? ? ? ? ? ? ? ? #設(shè)置表示允許訪問當(dāng)前目錄(即PHP腳本文件所在之目錄)和/tmp/目錄,可以防止php木馬跨站
?
經(jīng)過安裝和配置之后,web服務(wù)器基本上已經(jīng)搭建起來了,可以對其進(jìn)行訪問。
?
測試篇
在目錄/var/www/html下:cd /var/www/html
創(chuàng)建php文件:vi index.php
phpinfo();
?>
那么,在瀏覽器中輸入本機地址的時候,就可以訪問到剛才創(chuàng)建的index.php網(wǎng)頁文件了。
注意:apache的默認(rèn)程序目錄是:/var/www/html,網(wǎng)頁文件放在這里就可以被訪問到。需要保證這個目錄是屬于用戶apache和用戶組apache的。
? ? ? ? ? ? ?MySQL的數(shù)據(jù)庫目錄是:/var/lib/mysql
?
寫到這里,LAMP就安裝配置完畢了,瀏覽器只要輸入服務(wù)器的IP地址或者是域名的話,就能夠訪問到服務(wù)器上的網(wǎng)頁文件了。
有錯漏的地方,歡迎大家隨時指出修改意見,謝謝大家的支持。
Linux系統(tǒng)中常用的命令:
?
一、Linux常用命令
1.1.權(quán)限分配chmod命令
chmod 777 dir/file
1.2.參考鏈接
1.http://blog.sina.com.cn/s/blog_3fe048830100gp0e.html
二、對mysql數(shù)據(jù)庫常用操作命令
2.1.修改MySQL字符集
1.修改my.cnf
vi /etc/my.cnf
在[client]下添加
default-character-set=utf8
在[mysqld]下添加
default-character-set=utf8
2.重新啟動MySQL
service mysqld restart
3.查看字符集設(shè)置
show variables like 'character_set_%';
2.2.其他的一些設(shè)置方法
1.修改數(shù)據(jù)庫的字符集
mysql>use mydb
mysql>alter database mydb character set utf-8;
2.創(chuàng)建數(shù)據(jù)庫指定數(shù)據(jù)庫的字符集
mysql>create database mydb character set utf-8;
3.通過MySQL命令行修改
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;
set collation_connection=utf8;
set collation_database=utf8;
set collation_server=utf8;
2.3.備份還原數(shù)據(jù)庫
1.備份
mysqldump -u root -p voice>voice.sql;
2.還原
source voice.sql;
mysql -u root -p voice
1.http://blog.chinaunix.net/uid-26727991-id-4742248.html
?
參考鏈接:http://www.linuxidc.com/Linux/2012-06/63847.htm

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les problèmes et les solutions courants pour la portée de la variable PHP incluent: 1. La variable globale ne peut pas être accessible dans la fonction, et elle doit être transmise en utilisant le mot-clé ou le paramètre global; 2. La variable statique est déclarée avec statique, et elle n'est initialisée qu'une seule fois et la valeur est maintenue entre plusieurs appels; 3. Des variables hyperglobales telles que $ _get et $ _post peuvent être utilisées directement dans n'importe quelle portée, mais vous devez faire attention au filtrage s?r; 4. Les fonctions anonymes doivent introduire des variables de portée parents via le mot clé Utiliser, et lorsque vous modifiez les variables externes, vous devez passer une référence. La ma?trise de ces règles peut aider à éviter les erreurs et à améliorer la stabilité du code.

Pour gérer en toute sécurité les téléchargements de fichiers PHP, vous devez vérifier la source et taper, contr?ler le nom et le chemin du fichier, définir les restrictions du serveur et traiter les fichiers multimédias deux fois. 1. Vérifiez la source de téléchargement pour empêcher le CSRF via le jeton et détecter le type de mime réel via FINFO_FILE en utilisant le contr?le de liste blanche; 2. Renommez le fichier à une cha?ne aléatoire et déterminez l'extension pour la stocker dans un répertoire non Web en fonction du type de détection; 3. La configuration PHP limite la taille de téléchargement et le répertoire temporaire Nginx / Apache interdit l'accès au répertoire de téléchargement; 4. La bibliothèque GD résait les images pour effacer des données malveillantes potentielles.

Il existe trois méthodes courantes pour le code de commentaire PHP: 1. Utiliser // ou # pour bloquer une ligne de code, et il est recommandé d'utiliser //; 2. Utiliser /.../ pour envelopper des blocs de code avec plusieurs lignes, qui ne peuvent pas être imbriquées mais peuvent être croisées; 3. Compétences combinées Commentaires tels que l'utilisation / if () {} / pour contr?ler les blocs logiques, ou pour améliorer l'efficacité avec les touches de raccourci de l'éditeur, vous devez prêter attention aux symboles de fermeture et éviter les nidification lorsque vous les utilisez.

AgeneratorInphpisamemory-EfficientwaytoterateOrgedatasetsByyieldingValuesonEatatimeIntedofreturningThemallAtonce.1.GeneratorsUsEtheieldKeywordToproduceValuesondemand, ReducingMemoryUsage.2.TheyAreusefulForHandlingBigloops, ReadingLargeFiles, OR OR.

La clé pour rédiger des commentaires PHP est de clarifier l'objectif et les spécifications. Les commentaires devraient expliquer "pourquoi" plut?t que "ce qui a été fait", en évitant la redondance ou trop de simplicité. 1. Utilisez un format unifié, tel que DocBlock (/ * /) pour les descriptions de classe et de méthode afin d'améliorer la lisibilité et la compatibilité des outils; 2. Soulignez les raisons de la logique, telles que pourquoi les sauts JS doivent être sortis manuellement; 3. Ajoutez une description d'une vue d'ensemble avant le code complexe, décrivez le processus dans les étapes et aidez à comprendre l'idée globale; 4. Utilisez TODO et FIXME Rationalement pour marquer des éléments et des problèmes de taches pour faciliter le suivi et la collaboration ultérieurs. De bonnes annotations peuvent réduire les co?ts de communication et améliorer l'efficacité de la maintenance du code.

Toléarnphpeffective, startBySettingUpAlocalServerERironmentUsingToolsLILYXAMPPANDACODEDITERLIGHILLEVSCODE.1) INSTRUSITIONXAMPFORAPACHE, MYSQL, ANDPHP.2) USACODEDEDITORFORSYNTAXSUPPORT.3)

En PHP, vous pouvez utiliser des crochets ou des accolades bouclées pour obtenir des caractères d'index spécifiques à la cha?ne, mais les crochets sont recommandés; L'index commence à partir de 0 et l'accès à l'extérieur de la plage renvoie une valeur nulle et ne peut pas se voir attribuer une valeur; MB_substr est nécessaire pour gérer les caractères multi-octets. Par exemple: $ str = "Hello"; echo $ str [0]; sortie h; et les caractères chinois tels que MB_substr ($ str, 1,1) doivent obtenir le résultat correct; Dans les applications réelles, la longueur de la cha?ne doit être vérifiée avant le boucle, les cha?nes dynamiques doivent être vérifiées pour la validité et les projets multilingues recommandent d'utiliser des fonctions de sécurité multi-octets uniformément.

Toinstallphpquickly, usexAmpPonWindowsorHomebrewonMacos.1.onwindows, downloadAndInstallxAmppp, selectComponents, startapache et placefilesInhtdocs.2.
